将 2 个 SQL SELECT 结果集合并为一个

发布于 2024-08-22 09:29:35 字数 295 浏览 10 评论 0原文

我有 2 个 select 语句,返回如下数据:

Select 1
col_a   col_b

Select 2
col_a   col_c

如果我进行联合,我会得到类似

col_a col_b

And rows join 的内容。我需要的是这样得到它:

col_a  col_b  col_c

Joined on data in col_a

I've got 2 select statements, returning data like this:

Select 1
col_a   col_b

Select 2
col_a   col_c

If I do union, I get something like

col_a col_b

And rows joined. What i need is getting it like this:

col_a  col_b  col_c

Joined on data in col_a

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

以往的大感动 2024-08-29 09:29:35

使用 JOIN 连接子查询并使用 ON 表示每个子查询中的行必须匹配的位置:

SELECT T1.col_a, T1.col_b, T2.col_c
FROM (SELECT col_a, col_b, ...etc...) AS T1
JOIN (SELECT col_a, col_c, ...etc...) AS T2
ON T1.col_a = T2.col_a

如果 col_a 的某些值在 T1 中但不在 T2 中,则可以改用 LEFT OUTER JOIN。

Use JOIN to join the subqueries and use ON to say where the rows from each subquery must match:

SELECT T1.col_a, T1.col_b, T2.col_c
FROM (SELECT col_a, col_b, ...etc...) AS T1
JOIN (SELECT col_a, col_c, ...etc...) AS T2
ON T1.col_a = T2.col_a

If there are some values of col_a that are in T1 but not in T2, you can use a LEFT OUTER JOIN instead.

黑色毁心梦 2024-08-29 09:29:35

使用完整外部连接:

select 
   a.col_a,
   a.col_b,
   b.col_c
from
   (select col_a,col_bfrom tab1) a
join 
   (select col_a,col_cfrom tab2) b 
on a.col_a= b.col_a

Use a FULL OUTER JOIN:

select 
   a.col_a,
   a.col_b,
   b.col_c
from
   (select col_a,col_bfrom tab1) a
join 
   (select col_a,col_cfrom tab2) b 
on a.col_a= b.col_a
ぽ尐不点ル 2024-08-29 09:29:35
SELECT table1.col_a, table1.col_b, table2.col_c 
  FROM table1 
  INNER JOIN table2 ON table1.col_a = table2.col_a
SELECT table1.col_a, table1.col_b, table2.col_c 
  FROM table1 
  INNER JOIN table2 ON table1.col_a = table2.col_a
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文