gpt4 book ai didi

sql - 在sql中堆叠来自不同表的多列

转载 作者:行者123 更新时间:2023-11-29 13:52:42 25 4
gpt4 key购买 nike

我正在尝试将我在 sql 中匹配的列对堆叠在一起。例如,我将 A 列中的条目匹配到不同表中的 B 列,然后我想将 C 列和 D 列添加到 A 列和 B 列。它应该如下所示:

A1 B1
A2 B2
C1 D1
C2 D2

有没有简单的方法来做到这一点?我可以将列 ABCD 放入表中,但我对 sql 语法了解不够,无法将一个列插入另一个列。 Insert into statements 看起来很有希望,这是我试过的一些代码,但根本不起作用:

    SELECT
col_A,
col_B
FROM
table_A as a
LEFT JOIN
table_B as b on b.ID = a.ID;
--this is where I think I'm messing up:
INSERT INTO a
col_C,
col_D
FROM
table_c as c
LEFT JOIN
table_d as d on d.ID = c.ID

有什么想法吗?更简单的方法来做到这一点?谢谢! (如果有任何改变,我需要使用 PostgreSQL)

最佳答案

假设您要追加的数据属于同一类型,您可以使用 union all(如果要删除重复项则使用 union):

WITH table1 AS (
SELECT
col_A,
col_B
FROM table_A as a
LEFT JOIN table_B as b
on b.ID = a.ID
),

table2 AS (
SELECT
col_C,
col_D
FROM table_C as c
LEFT JOIN table_D as d
on c.ID = d.ID
)

SELECT *
FROM table1
union all
SELECT *
FROM table2
;

关于sql - 在sql中堆叠来自不同表的多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37970293/

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