我需要在SQL Server中加入3個表。這3代表也基本這個模式:加入來自三個表的所有信息的查詢
Users Items UsersItems
+--------+ +--------+-------------+ +--------+--------+-------+
| UserID | | ItemID | Description | | UserID | ItemId | Value |
+--------+ +--------+-------------+ +--------+--------+-------+
| 1 | | 1 | desc1 | | 1 | 1 | 1 |
| 2 | | 2 | desc2 | | 1 | 2 | 2 |
| ... | | ... | desc3 | | 2 | 2 | 1 |
| n | | n | desc4 | | n | 1 | 1 |
+--------+ +--------+-------------+ +--------+--------+-------+
正如你所看到的用戶和項目可以無限增長和UsersItems用來表達這兩個之間的關係,也包括值列。
我需要一個查詢來檢索所有用戶,併爲每個用戶我需要所有與它相應的值的項目。
如果在中不存在關係,則應爲該行的Value
列返回Null(或缺省值)。
預期的查詢結果應該是:
ResultSet
+--------+--------+-------+
| UserID | ItemID | Value |
+--------+--------+-------+
| 1 | 1 | 1 |
| 1 | 2 | 2 |
| 1 | n | NULL |
| 2 | 1 | NULL |
| 2 | 2 | 1 |
| 2 | n | NULL |
| n | 1 | 1 |
| n | n | NULL |
+--------+--------+-------+
閱讀關於LEFT JOIN並嘗試一些東西。 – Bill
其實,也讀過CROSS JOIN。 – paulbailey
你問我們做功課嗎? –