将一个查询的结果用于不同列名

时间:2017-03-08 14:41:09

标签: mysql sql

我的平台是 MySql

我需要将两个查询组合起来,使用第一个查询作为第二个查询的过滤器类型。

查询1:

SELECT * FROM INVENTORY
WHERE INV_ID = 1
AND FSCL_YR = 2017

从此查询中我们将得到包含名为STR_NBR的列的结果。

然后我们要在第二个查询中使用“如果商店编号出现在第一个查询中,请将结果显示在第二个查询中”。第二个查询表使用列名SND_LOC_NBR而不是STR_NBR

查询2:

SELECT * FROM Transfer A
LEFT JOIN Transfer_Detail B
ON A.XFER_NBR = B.XFER_NBR
WHERE A.XFER_NBR = B.XFER_NBR
AND A.XFER_STAT_IND IN ('S','C')
AND (where the SND_LOC_NBR needs to match STR_NBRs found from Query 1)

1 个答案:

答案 0 :(得分:1)

试试这个:

SELECT * FROM Transfer A
      LEFT JOIN Transfer_Detail B
         ON A.XFER_NBR = B.XFER_NBR
      WHERE A.XFER_STAT_IND IN ('S','C')
        AND SND_LOC_NBR IN 
              (SELECT STR_NBR FROM INVENTORY 
                   WHERE INV_ID = 1 AND FSCL_YR = 2017 )
相关问题