我有一個左一個SQL查詢中的連接工作正常:SQL左連接2臺
SELECT book.* FROM book
LEFT JOIN purchase ON book.book_id = purchase.book_id
WHERE purchase.user_id = 3
ORDER BY purchase.purchase_date
但我也需要從進貨表的相關信息,所以我嘗試:
SELECT purchase.*, book.*
FROM purchase, book
LEFT JOIN purchase ON book.book_id = purchase.book_id
WHERE purchase.user_id = 3
ORDER BY purchase.purchase_date
但沒有工作,我有這個錯誤消息:#1066 - 不唯一的表/別名:'購買'
我怎麼能修改第一個請求從購買表中獲取數據呢?
爲什麼不使用'SELECT * FROM [...]' – rabudde 2012-01-05 09:29:08
在你的第二個查詢中,你嘗試加入表'purchase'兩次。但是如果你這樣做了,那麼這兩個表都必須用一個別名來命名 – rabudde 2012-01-05 09:30:18
爲什麼你在原始查詢中有一個左連接? WHERE子句將把它變成一個內部連接。 – 2012-01-05 09:56:01