【发布时间】:2020-05-18 09:24:20
【问题描述】:
我很难在标题中描述问题,更不用说寻找可能存在的解决方案了,所以请原谅,或者指出我的主题。我需要 pad 行,所以每个类别有 4 行,如下面的简化场景所示:
mysql> select * from a;
+-------+
| Num |
+-------+
| 1 |
| 2 |
| 3 |
| 4 |
+-------+
mysql> select * from b;
+----------+------+------+
| Category | Num | Data |
+----------+------+------+
| X | 2 | 10 |
| X | 3 | 12 |
| X | 4 | 8 |
| Y | 1 | 0 |
| Y | 2 | 19 |
| y | 3 | 15 |
| y | 4 | 22 |
| Z | 2 | 10 |
+----------+------+------+
我需要的结果是每个类别总是 4 行(表 b 总是每个类别有 Num = 1、2、3 或 4 之一),为填充行设置 data = null:
mysql> select * from c;
+----------+------+------+
| Category | Num | Data |
+----------+------+------+
| X | 1 | NULL |
| X | 2 | 10 |
| X | 3 | 12 |
| X | 4 | 8 |
| Y | 1 | 0 |
| Y | 2 | 19 |
| y | 3 | 15 |
| y | 4 | 22 |
| Z | 1 | NULL |
| Z | 2 | 10 |
| Z | 3 | NULL |
| Z | 4 | NULL |
+----------+------+------+
我人为地创建了表 a,因为我认为它可能有助于 (INSERT) 查询?!
【问题讨论】:
标签: mysql sql select sql-insert