mysql IN子句的帮助

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和条形码的表,需要将给定的ID列表转换为相应的条形码列表。但如果我需要为每个ID设置一个条形码,即使给定ID中有多个条形码。 我尝试的第一件事是

从prodID所在的prod中选择条形码(76,76,76,88,88)

但我只得到了2个条形码(一个用于ID 76,一个用于ID 88),而不是我需要的5个


您知道如何做到这一点而不必对每个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我知道,但想不出一种方法来获得我所需要的。你不能在这个查询的代码中处理这个问题吗?