我是新来的。我已经进行了很多搜索,并且在现有帖子中回答了很多问题。我想我现在真的要复杂了,因为我再也找不到容易的答案了。
我将尽可能简单/简单地解释我的情况。
所以我有一个主物料代号表:
item
E01
E02
E03
E04
还有一个子项目代码表,该表与主项目代码相关(这捕获了变化/大小)。它与主项目代码是一对多的关系:
item subItem
E02 E02_S
E02 E02_M
E02 E02_L
E03 E03A
E03 E03B
E03 E03C
E04 E04A_S
E04 E04A_M
E04 E04B_L
E04 E04B_XL
请注意,E01没有子项,因为它不包含任何变体。
我执行了两个表之间的联接查询,以包括所有项和子项:
SELECT master.item, [Size List].subItem
FROM master Left JOIN [Size List] ON master.[item] = [Size List].[item];
item subItem
E01
E02 E02_S
E02 E02_M
E02 E02_L
E03 E03A
E03 E03B
E03 E03C
E04 E04A_S
E04 E04A_M
E04 E04B_L
E04 E04B_XL
该列表符合预期,每个子项目和主项目都占据一行。请注意,当子项可用时,E02,E03和E04平原不占一行,而E01则占一行,因为不存在变化。
我将如何更新此查询以将master和sub合并到一个字段,以便它们仍以连接方式占据每一行?总的来说,我试图创建一个唯一项目的列表,其中子项目充当唯一项目,以替换其相关的主级别。
* combinedItemList
E01
E02_S
E02_M
E02_L
E03A
E03B
E03C
E04A_S
E04A_M
E04B_L
E04B_XL
任何帮助或见解将不胜感激。谢谢!
第一条语句获取没有子项的所有项。
第二条语句获取项目值存在的所有子项目并将其合并。
select DISTINCT master.item
from master
left join [Size List]
master.[item] = [Size List].[item]
where [Size List].subItem is null
UNION
SELECT DISTINCT [Size List].subitem
FROM [Size List]
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句