【发布时间】:2013-01-27 15:52:07
【问题描述】:
我有两张桌子
表Customer
- cus_id
- cus_name
表购买
- buy_id,
- cus_id(FK 到客户),
- 价格
我想要的结果
cus_id, cus_name, buy_id, price
但万一有些客户没有buy_id。我怎么能这样查询。
cus_id, cus_name, null, null
【问题讨论】:
我有两张桌子
表Customer
表购买
我想要的结果
cus_id, cus_name, buy_id, price
但万一有些客户没有buy_id。我怎么能这样查询。
cus_id, cus_name, null, null
【问题讨论】:
如果您想显示所有客户,即使他还没有购买任何东西,请使用LEFT JOIN。
SELECT a.*, b.buy_id, b.price
FROM customer a
LEFT JOIN buying b
ON a.cus_id = b.cus_id
要全面了解联接,请访问以下链接:
【讨论】:
{ }
COALESCE,例如COALESCE(columnName, 'xx'),如果该列的值为空,它将显示xx。 MySQL COALESCE (click here)
通过使用LEFT JOIN:
Select
c.cus_id,
cus_name,
buy_id,
price
from
Customers c
LEFT JOIN Buying b on (c.cus_id=b.cus_id)
【讨论】: