我正在获取具有以下格式的数据文件。我必须得到一个储存有物品描述的表格。如何在我的TSQL中替换union ALL
我正在寻找与CategoryID,商品代码和商品描述的输出。由于所有项目的数据都在相同的行中,因此类别变得有点棘手。
CategoryID Name ItemCode1 ItemCode2 ItemCode3 ItemCode4 ItemCode5
1 Test1 1234578 87BA1234 ERR12345
2 Test2 BAAA9AAJ 143PAAM
ItemDescription存储如下:
Itemcode ItemDesc
12345678 Item1
87BA1234 Item2
and so on
我能够通过分别选择每个项目,说明得到我想要的输出,并与工会一切束缚他们。但我觉得应该有更好的方法来做到这一点。感谢您的指导。
编辑:我的T-SQL与UNION ALL
SELECT CategoryID, isnull(Item.ItemDescription, 'Unknown') as ItemDesc
FROM
(
SELECT CategoryID, ItemCode1 as code
FROM ItemDesc
UNION ALL --AAAE9AAF
SELECT CategoryID, ItemCode2 as code
FROM ItemDesc
UNION ALL --AAAG9AAF
SELECT CategoryID, ItemCode3 as code
FROM ItemDesc
UNION ALL
SELECT CategoryID, ItemCode4 as code
FROM ItemDesc
UNION ALL
SELECT CategoryID, ItemCode5 as code
FROM ItemDesc
)tc
LEFT JOIN @ItemDescription Item ON Item.ItemCode = tc.code
你是否介意发布你的查询。 –
你能告诉我们你正在运行的实际t-sql命令,它里面有联合吗?也许这只是我,但你的描述没有太多意义。你是说item_description在另一个表中吗? categoryID是外键还是外键的一部分?基本上我要求更多的解释。谢谢。 –
其中是您的输出中的“description”。请提供样本数据和预期产出。 – Utsav