gpt4 book ai didi

mysql - SQL甚至显示空记录

转载 作者:太空宇宙 更新时间:2023-11-03 12:07:31 24 4
gpt4 key购买 nike

下面是我的sql语句

SELECT a.purchase_id,
b.username,
a.purchase_packageid,
a.purchase_tradelimit,
a.purchase_pincode,
a.purchase_datetime,
c.packages_name ,
FROM purchase a,
accounts b,
packages c
WHERE a.purchase_userid=b.UserId
AND c.packages_id=a.purchase_packageid

基本上问题是我有 3 个表

Accounts
Purchase
Packages

主表是 Purchase,表内有 purchase_userid ,我需要用它从表 accounts 中获取用户名

所以现在的问题是我得到了 purchase_userid 为空的行,因为它是空的,它不会将其记录绘制为空。

这条sql语句中显示的记录只有purchase_userid,

由于 purchase_userid 的值稍后会为我的网络应用程序填充,我仍然想选择没有 purchase_userid 的行和有 purchase_userid 的行

感谢您的帮助!!

最佳答案

即使在 Accounts 中找不到匹配的记录,您也需要使用左连接来加载 Purchase 中的所有记录。

SELECT a.purchase_id, b.username, a.purchase_packageid, a.purchase_tradelimit,   a.purchase_pincode, a.purchase_datetime, c.packages_name 
FROM purchase a LEFT JOIN accounts b
ON a.purchase_userid=b.UserId
JOIN packages c
ON c.packages_id=a.purchase_packageid

这篇文章很好地解释了不同类型的连接:What's the difference between INNER JOIN, LEFT JOIN, RIGHT JOIN and FULL JOIN?

关于mysql - SQL甚至显示空记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25776775/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com