我有下表:
| Cod | SKA | SKB | SKC |
| AGE | 1 | 10 | 100 |
| AUC | 2 | 11 | 101 |
| BER | 3 | 12 | 102 |
| AGE | 4 | 13 | 103 |
| AUC | 5 | 14 | 104 |
| BER | 6 | 15 | 105 |
我想将这些列添加到另一个表中以获得如下内容:
| Cod | SKA | SKB | SKC |
| AGE | 1 | 10 | 100 |
| AGE | 1 | 11 | 101 |
| AGE | 1 | 12 | 102 |
| AGE | 1 | 13 | 103 |
| AGE | 1 | 14 | 104 |
| AUC | 1 | 15 | 105 |
| AUC | 2 | 10 | 100 |
| AUC | 2 | 11 | 101 |
| AUC | 2 | 12 | 102 |
| AUC | 2 | 13 | 103 |
| AUC | 2 | 14 | 104 |
| AUC | 2 | 15 | 105 |
| ... | ... | ... | ... |
| ... | ... | ... | ... |
| ... | ... | ... | ... |
因此,每个 Cod、SKB 和 SKC 根据一个 SKA,然后根据第二个等等。这对于所有 SK 列,
我怎样才能得到这个结果?通过加入?
编辑
感谢您的评论和回答,我会尝试交叉连接!
最佳答案
我认为您希望交叉连接
来获取四列的所有组合:
select cod.cod, a.ska, b.skb, c.skc
from (select distinct cod from t) cod cross join
(select distinct ska from t) a cross join
(select distinct skb from t) b cross join
(select distinct skc from t) c ;
您可能需要调整此查询以满足您的需求。您的文本描述了一件事,但示例数据略有不同。我希望 AGE/2
出现在结果中。
关于sql - 将来自不同表的列的值插入到列中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51085764/