我確定之前已經詢問過這個問題,但我無法想象如何在谷歌中使用它,所以我在這裏。將兩個完全不同的結果集合爲一個
我有用戶的表像這樣:
create table MyUser
(
Id int
)
insert into MyUser(Id)
select 1 union
select 2 union
select 3 union
select 4 union
select 5
和對象的表像這樣:
create table Object
(
Id int
)
insert into Object(Id)
select 1 union
select 2 union
select 3
我想作爲一個結果集是這樣的(第一列MYUSER。 Id,第二個是Object.Id):
1, 1
1, 2
1, 3
2, 1
...
基本上,我希望這兩個表的每個組合都有一行。這question是類似的,但我不能依靠一個表中的值小於或大於值。所以,基本上,我相信我想要的可以被描述爲兩張表之間沒有關係的笛卡爾積。
我該怎麼做?我一直在玩CTE的/子查詢和UNION,但我無法弄清楚如何過濾掉UNION語句的虛擬值,這些UNION語句代表在UNION和CTE /子查詢中沒有被選中的列不能做我想要的東西。
完美!我有'CROSS APPLY'卡在我的頭上,顯然是不正確的。我從來沒有遇到過這種情況,所以我想不出正確的語法。謝謝。 –