我有以下3個表:使用另一個字段作爲默認值的值左連接
users
| id | name | address |
|----+-------+----------+
| 1 | user1 | address1 |
| 2 | user2 | address2 |
locations
| id | user_id | name |
|----+---------+-----------+
| 1 | 1 | location1 |
| 2 | 1 | location2 |
| 3 | 2 | location3 |
orders
| id | user_id | from_id | to_id |
|----+---------+---------+-------+
| 1 | 1 | 1 | 2 |
| 2 | 1 | 1 | 0 |
from_id或to_id可以有0個,這意味着用戶的地址是在這種情況下使用。
執行一個 '幼稚' 加入這些表:
SELECT u.name uname, fl.location flocation, tl.location tlocation
FROM users u, orders o, locations fl, locations tl
WHERE u.id = o.user_id
AND o.from_id = fl.id
AND o.to_id = tl.id
沒有顯示記錄以0:
user1 | location1 | location2
我想看到的是如下數據:
user1 | location1 | location2
user1 | location1 | address1
使用mysql,有沒有辦法擴展連接以顯示這樣的結果?
感謝你們偉大的答案! – Tamir