我有以下表格-


具有以下字段的交易表-

transactionId
userId
merchantId
具有userIDdetails的用户表
具有merchantIddetails的商家表


可能有一些交易条目的商人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/

10-12 21:46