我提前道歉,因为标题不是很有描述性。
我有大约 40 多个表,每个表都有完全相同的表布局列,并且数据保存为一列。我想在所有表中使用不同的列并将它们合并到一个表中。令人困惑?让我说明..
SRCTbl01:
ID TYPE COLR1 INSTOCK
-----------------------
1 B RED YES
2 B BLUE YES
3 P GREEN NO
4 B BLACK YES
SRCTbl02:
ID TYPE COLR1 INSTOCK
-----------------------
1 B RED YES
2 B BLUE NO
3 P GREEN YES
4 B BLACK YES
SRCTbl03:
ID TYPE COLR1 INSTOCK
-----------------------
1 B RED YES
2 B BLUE NO
3 P GREEN NO
4 B BLACK NO
结果:(排除P型)
ID TYPE COLR1 SRCTbl01 SRCTbl02 SRCTbl03
----------------------------------------------
1 B RED YES YES YES
2 B BLUE YES NO NO
4 B BLACK YES YES NO
最后,我想让表格看起来像这样:
进货表:
Customer RED BLUE BLACK
---------------------------
SRCTbl1 YES YES YES
SRCTbl2 YES NO YES
SRCTbl3 YES NO NO
我不完全确定我是否可以直接操纵表格使其看起来像最终迭代,所以我想我应该问如何将它变成第一个结果,因为对我来说它似乎更简单。
谢谢你的帮助,我花了整整8个小时,还没有找到实现它的方法,所以我来这里请教专家。
编辑:澄清一下,我在实现上述结果方面的成功率为零。我尝试过使用 SELECT .. Union SELECT 和 FULL JOINS。
使用此代码会导致重复(我试图获取 INSTOCK)
SELECT 01.INSTOCK, 02.INSTOCK, 03.INSTOCK
FROM dbo.SRCTbl01 AS 01, dbo.SRCTbl02 AS 02, dbo.SRCTbl03 AS 03
WHERE 01.TYPE='B'
我尝试了很多,但这可能是我得到的最接近的。