SQL中如何根据查询结果进行子查询

时间:2021-01-21 15:38:32

标签: sql

我目前正在尝试查询我们的装配项目列表及其相应的组件。 我一直在以几种不同的方式尝试此查询,这是我目前所在的位置(我得到的最近)

SELECT inv_mast.item_id AS [Item ID]
    ,inv_mast.item_desc AS [Item Description]
    ,IMC.item_id AS [Component Item ID]
FROM inv_mast
INNER JOIN assembly_line ON inv_mast.inv_mast_uid = assembly_line.inv_mast_uid
LEFT JOIN inv_mast IMC ON assembly_line.component_inv_mast_uid = inv_mast.inv_mast_uid
WHERE inv_mast.item_id = 'LFV-SV59Z-2ZGD-LOGO-L'

在“Assembly_line”表中有一个 Component_inv_mast_uid,我需要用它来查询组件的项目 ID(inv_mast 在 inv_mast_uid 上连接到 assembly_line)

它应该导出如下内容:

LFV-SV59Z-2ZGD-LOGO-L (LFV-SV59Z-2ZGD-L)

LFV-SV59Z-2ZGD-LOGO-L(印刷费)

我忘了提及当前正在导出的内容。 当我运行此查询时,它提供的大部分信息都是正确的,但是“组件项 ID”列返回 Null,我不知道为什么。 到目前为止,我只有加入基本表的经验,所以子查询对我来说很新。

1 个答案:

答案 0 :(得分:0)

尝试使用

WHERE inv_mast.item_id like 'LFV-SV59Z-2ZGD-LOGO-L%'

代替 = 'LFV-SV59Z-2ZGD-LOGO-L'