我有一个左一个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