问个 sql 语句

2022-08-08 22:01:39 +08:00
 azev
假设有 A 表 两条记录
a1
a2
B 表 两条记录
b1
b2
AB 表 一条记录
a1 b1 9

现在想要得到这么一记录集
a1 b1 9
a1 b2 0
a2 b1 0
a2 b2 0

sql 该如何写呢?
873 次点击
所在节点    问与答
5 条回复
kkeep
2022-08-08 22:10:50 +08:00
有意思,我觉得我可以给你写一个 sql 生成器,
描述数据集,以及想要的结果,生成器可以直接返回具体的查询结果。
kkeep
2022-08-08 22:11:07 +08:00
@kkeep 具体的查询 SQL
Vegetable
2022-08-08 22:26:45 +08:00
笛卡尔积吗,这个关键字+sql 肯定能搜到写法,但是这东西什么场景我一直想不明白
zhaohui318
2022-08-09 04:06:23 +08:00
select A.id,B.id,coalesce(AB.value,0)
from B cross join A
left join AB on AB.a=A.id and AB.b=B.id;
azev
2022-08-09 08:00:02 +08:00
@zhaohui318 多谢 是这样

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/871531

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX