我尝试进行 LEFT JOIN(图像左侧第二个)。所以基本上我想要表 A 中的所有记录而不需要表 B 中的记录,所以我只想从表 B 中获取与表 A 交叉的信息。表 B 中有更多信息,如书籍详细信息,我希望能够提取,但我不需要表 B 中的行,只需要额外的信息。我认为最好的方法是使用 LEFT JOIN,这是我尝试过的代码,但它会导致空字符串/结果:
SELECT WF.*, W.* FROM WalletFrom AS WF LEFT JOIN Wallet AS W ON W.BookID = WF.BookID WHERE WF.BookID = 1360 AND W.BookID IS NULL
我做错了什么?
钱包中的列: 钱包ID 用户身份 书号 订单编号 钱包状态ID 赢 钱包产品ID
最佳答案
你得到空结果,因为 W.BookID IS NULL
子句,left join
保证它不是null
及其条件。
如果您只想要来自 WalletFrom
且 Wallet
中存在 BookId
的记录,您可以使用以下查询:
SELECT * FROM WalletFrom wf
WHERE EXISTS(SELECT 1 FROM Wallet
WHERE BookId = wf.BookId)
关于mysql - 尝试进行 LEFT JOIN,但最终得到空结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59590346/