[MS SQL] 兩個資料表的所有交叉組合
假設我有兩個表
TableA
想去哪裡?
-------------
台 北
高 雄
TableB
怎麼去?
--------------
開 車
搭高鐵
搭火車
想要的結果:
Table_Result
想去哪裡? |怎麼去?
------------- ------------
台 北 開 車
台 北 搭高鐵
台 北 搭火車
高 雄 開 車
高 雄 搭高鐵
高 雄 搭火車
直接看SQL:
TableA
想去哪裡?
-------------
台 北
高 雄
TableB
怎麼去?
--------------
開 車
搭高鐵
搭火車
想要的結果:
Table_Result
想去哪裡? |怎麼去?
------------- ------------
台 北 開 車
台 北 搭高鐵
台 北 搭火車
高 雄 開 車
高 雄 搭高鐵
高 雄 搭火車
直接看SQL:
--建立@TableA並給它值 DECLARE @TableA TABLE ([想去哪裡?] nvarchar(12)); INSERT INTO @TableA SELECT '台 北' UNION SELECT '高 雄'; --建立@TableB並給它值 DECLARE @TableB TABLE ([怎麼去?] nvarchar(12)); INSERT INTO @TableB SELECT '開 車' UNION SELECT '搭高鐵' UNION SELECT '搭火車'; SELECT * FROM @TableA; SELECT * FROM @TableB; --兩個表的所有交叉組合結果 SELECT * FROM (SELECT [想去哪裡?] FROM @TableA) A, (SELECT [怎麼去?] FROM @TableB) B ORDER BY 1
留言
張貼留言