gpt4 book ai didi

mysql - 特定领域的永久结果集

转载 作者:行者123 更新时间:2023-11-30 21:37:42 24 4
gpt4 key购买 nike

我敢肯定这真的很明显,但我正在竭尽全力尝试找出正确的单词组合以正确搜索......所以,如果之前有人问过这个问题,我深表歉意。

假设我有一个包含 4 个字段的简单表格:产品、大洲、月份、销售额。我想显示每个产品、大洲、月份的总销售额,但我总是想显示每个大洲,无论该月是否有销售额。因此,对于产品和月份的每种组合,我总是希望列出 7 大洲。

我已经尝试了各种连接和 CTE,但似乎找不到正确的组合来仅在大陆级别提取空值。

数据示例:

Product Continent   Month   Sales
A Asia SEP ###
A America SEP ###
A Europe OCT ###
A Africa AUG ###
A Oceania OCT ###
B Europe SEP ###
B Africa SEP ###
C America AUG ###
C Oceania AUG ###
C Asia OCT ###

期望的输出:

Product Continent   Month   Sales
A Asia AUG
A America AUG
A Europe AUG
A Africa AUG ###
A Oceania AUG
A Asia SEP ###
A America SEP ###
A Europe SEP
A Africa SEP
A Oceania SEP
A Asia OCT
A America OCT
A Europe OCT ###
A Africa OCT
A Oceania OCT ###
B Asia SEP
B America SEP
B Europe SEP ###
B Africa SEP ###
B Oceania SEP
C Asia AUG
C America AUG ###
C Europe AUG
C Africa AUG
C Oceania AUG ###
C Asia OCT ###
C America OCT
C Europe OCT
C Africa OCT
C Oceania OCT

最佳答案

您可以使用cross join 生成行并使用left join 引入值:

select pm.product, pm.month, c.continent, d.sales
from (select distinct continent from data) c cross join
(select distinct product, month from data) pm left join
data d
on d.continent = c.continent and
d.product = pm.product and
d.month = pm.month;

关于mysql - 特定领域的永久结果集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53082460/

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