我有以下表格-
具有以下字段的交易表-transactionId
,userId
,merchantId
具有userID
和details
的用户表
具有merchantId
和details
的商家表
可能有一些交易条目的商人ID为null。
我也想获得带有merchantId
和商家详细信息的交易报告。所有交易都应该在报告中。对于没有商家ID的交易,商家字段可以为NULL。
这样的LEFT联接不会返回merchantId
null的条目,因为在事务表中merchantId
字段为null-
查询:
SELECT vt.*,
u.userDetails,
m.merchantId,
m.merchantDetails
FROM TRANSACTION AS vt
LEFT JOIN merchant AS m ON vt.merchantId = m.merchantId
JOIN users AS u ON vt.userId = u.userID;
可以单独加入吗?
最佳答案
您的查询可以正常工作。它返回表“ transaction”中的所有交易,并且如果merchantId为NULL,则商户详细信息为null……但是交易仍在列表中。
自己看看(我在MerchantId字段中插入了4个事务,包括1个带有NULL的事务):
SQLFiddle DEMO
关于mysql - mysql查询连接的另一个实例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47920927/