mysql IN子句的帮助
我有一个带有数字ID和条形码的表,需要将给定的ID列表转换为相应的条形码列表。但如果我需要为每个ID设置一个条形码,即使给定ID中有多个条形码。 我尝试的第一件事是 从prodID所在的prod中选择条形码(76,76,76,88,88) 但我只得到了2个条形码(一个用于ID 76,一个用于ID 88),而不是我需要的5个mysql IN子句的帮助,mysql,Mysql,我有一个带有数字ID和条形码的表,需要将给定的ID列表转换为相应的条形码列表。但如果我需要为每个ID设置一个条形码,即使给定ID中有多个条形码。 我尝试的第一件事是 从prodID所在的prod中选择条形码(76,76,76,88,88) 但我只得到了2个条形码(一个用于ID 76,一个用于ID 88),而不是我需要的5个 您知道如何做到这一点而不必对每个ID运行一个查询吗?我会在接收结果的代码中处理这个问题。在这里获得5个结果是没有意义的,因为您已经获得了所需的所有信息:prodID 76和8
您知道如何做到这一点而不必对每个ID运行一个查询吗?我会在接收结果的代码中处理这个问题。在这里获得5个结果是没有意义的,因为您已经获得了所需的所有信息:prodID 76和88的条形码。我假设您需要为给定示例返回5行,无论它们是否是相同的prodID 一种解决方案是使用一个即时创建的表连接您的表,该表返回您所需的所有prodID
SELECT p.Barcode
FROM prod p
INNER JOIN (
SELECT 76 AS prodID
UNION ALL SELECT 76
UNION ALL SELECT 76
UNION ALL SELECT 88
UNION ALL SELECT 88
) i ON i.prodID = p.prodID
你三次使用76,两次使用88。这就是为什么你只能得到2个结果。你可以创建一个临时表,插入你需要的值,然后与该表连接。但我认为你可以重新思考这个问题,找到另一个解决方案。@Ancide我知道,但想不出一种方法来获得我所需要的。你不能在这个查询的代码中处理这个问题吗?