MySQL:使用主键和外键连接的两个表,如何获取所有记录,即使外键尚未填充
P粉486743671
P粉486743671 2023-08-09 14:15:07
[MySQL讨论组]

我希望找到解决办法

我有一张带有主键stock的表

stkid (pk), name

第二张表(share)

price, quantity, stkid (fk)

我运行了这个查询,但它只显示了已经在共享记录中有记录的股票 我希望显示所有股票,即使在共享记录中没有记录

select name, 
       0, 
       sum(price*quantity) / sum(quantity) as avg, 
       sum(quantity) as qty 
from stock,
     share 
where share.stkid = stock.stkid 
group by (stock.stkid)
P粉486743671
P粉486743671

全部回复(1)
P粉038161873

您可以使用LEFT JOIN语句,它会从share表中选择相关行,即使在stock表中没有链接的行也会选择出来。

SELECT
  name,
  0,
  sum(price*quantity) / sum(quantity) as avg,
  sum(quantity) as qty
FROM stock
LEFT JOIN share ON share.stkid = stock.stkid
GROUP BY stock.stkid
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号