【发布时间】:2022-11-19 12:43:23
【问题描述】:
所以我可以像这样运行两个单独的查询:
SELECT date as date1, product as product1, product_id as product_id_1, SUM(revenue) AS rev1
FROM product_inventory
WHERE date = '2021-11-17'
GROUP BY date1 , product1, product_id_1
ORDER BY rev1 DESC
SELECT date as date2, product as product2, product_id as product_id_2, SUM(revenue) AS rev2
FROM product_inventory
WHERE date = '2022-11-17'
GROUP BY date2 , product2, product_id_2
ORDER BY rev2 DESC
这是我为每个人得到的输出:
| date1 | product1 | product_id_1 | rev1 |
|---|---|---|---|
| 2021-11-17 | adidas samba | 9724 | 6087.7000732421875 |
| 2021-11-17 | nike air max | 5361 | 4918.0 |
| 2021-11-17 | puma suede | 1985 | 3628.1600341796875 |
| date2 | product2 | product_id_2 | rev2 |
|---|---|---|---|
| 2022-11-17 | adidas samba | 9724 | 5829.0 |
| 2022-11-17 | nike air max | 5361 | 4841.864013671875 |
| 2022-11-17 | puma suede | 1985 | 5404.4140625 |
我怎样才能以一种将 date2 和 rev2 列拉成这样的单个输出的方式查询数据库?
| date1 | product1 | product_id_1 | rev1 | date2 | rev2 |
|---|---|---|---|---|---|
| 2021-11-17 | adidas samba | 9724 | 6087.7000732421875 | 2022-11-17 | 5829.0 |
| 2021-11-17 | nike air max | 5361 | 4918.0 | 2022-11-17 | 4841.864013671875 |
| 2021-11-17 | puma suede | 1985 | 3628.1600341796875 | 2022-11-17 | 5404.4140625 |
我试过这个查询:
SELECT A.date1, A.product1, A.rev1, B.date2, B.product2, B.rev2 FROM
(
SELECT date as date1, product as product1, product_id as product_id_1, SUM(revenue) AS rev1 FROM product_inventory WHERE date = '2021-11-17' GROUP BY date1 , product1, product_id_1 ORDER BY rev1 DESC
) A,
(
SELECT date as date2, product as product2, product_id as product_id_2, SUM(revenue) AS rev2 FROM product_inventory WHERE date = '2022-11-17' GROUP BY date2, product2, product_id_2 ORDER BY rev2 DESC
) B;
但我得到了这个输出
| date1 | product1 | rev1 | date2 | product2 | rev2 |
|---|---|---|---|---|---|
| 2021-11-17 | puma suede | 3628.1600341796875 | 2022-11-17 | adidas samba shoes | 5829.0 |
| 2021-11-17 | nike air max | 4918.0 | 2022-11-17 | adidas samba shoes | 5829.0 |
| 2021-11-17 | adidas samba | 6087.7000732421875 | 2022-11-17 | adidas samba shoes | 5829.0 |
| 2021-11-17 | puma suede | 3628.1600341796875 | 2022-11-17 | puma suede | 5404.4140625 |
| 2021-11-17 | nike air max | 4918.0 | 2022-11-17 | puma suede | 5404.4140625 |
| 2021-11-17 | adidas samba | 6087.7000732421875 | 2022-11-17 | puma suede | 5404.4140625 |
| 2021-11-17 | puma suede | 3628.1600341796875 | 2022-11-17 | nike air max | 4841.864013671875 |
| 2021-11-17 | nike air max | 4918.0 | 2022-11-17 | nike air max | 4841.864013671875 |
| 2021-11-17 | adidas samba | 6087.7000732421875 | 2022-11-17 | nike air max | 4841.864013671875 |
这就像记录数的平方。
【问题讨论】:
-
是的,
from tablea, tableb检查 tablea 和 tableb 行的所有可能组合,而不是您想要的。select version();显示什么?