我尝试从两个具有以下架构的表中加入记录
users
----
name
phone
email
sales
----
seller_id
buyer_id
amt
date
这是我的sql
Select
sales.amt,
sales.date,
buyer.phone as buyer_phone,
buyer.name as buyer_name,
buyer.email as buyer_email,
seller.phone As seller_phone,
seller.name As seller_name,
seller.email As seller_email
From
users borrower Inner Join
sales On borrower.id = sales.buyer_id Inner Join
users seller On seller.id = sales.seller_id
但我得到一个空记录
预期输出为
amt,
date,
buyer_phone,
buyer_name,
buyer_email,
seller_phone,
seller_name,
seller_email
任何帮助或建议
答案 0 :(得分:3)
如果将用于连接表sales
的表user
的两列不可为空,则当前查询是正确的。但是,如果它们可以为空,请使用LEFT JOIN
代替INNER JOIN
。
SELECT sales.amt,
sales.date,
buyer.phone as buyer_phone,
buyer.name as buyer_name,
buyer.email as buyer_email,
seller.phone As seller_phone,
seller.name As seller_name,
seller.email As seller_email
FROM sales
LEFT JOIN users borrower
ON borrower.id = sales.buyer_id
LEFT JOIN users seller
ON seller.id = sales.seller_id
要进一步了解联接,请访问以下链接: