我试图将2个sql结果集合并为1.我不能在1中选择它们,因为性能是个大问题。所以我想要做的就是运行它们并将结果组合在主键上 - 所有这些都在一个查询中。
例如。
select a,b,c,d from tablea;
select d,e,f,g from tableb;
如何在查询本身中组合结果。选择再次需要分开。
输出:
a,b,c,d,e,f,g
答案 0 :(得分:3)
只需加入专栏D
:
select a, b, c, A.d, e, f, g
from tablea A
INNER JOIN tableb B
ON A.d = B.d
你可以使用子查询:
SELECT a, b, c, A.d, e, f, g
FROM
(select a,b,c,d from tablea) A
INNER JOIN
(select d,e,f,g from tableb) B
ON A.d = B.d
或CTE(使用子查询的另一种方式):
WITH A AS
(
select a,b,c,d from tablea;
),
B AS
(
select d,e,f,g from tableb;
)
SELECT a, b, c, A.d, e, f, g
FROM A
INNER JOIN B
ON A.d = B.d
我的第二个选择是在几行上运行平均值并返回该键的数字。当我加入那张桌子时非常沉重。
好的,改变了这种情况。子查询或CTE可能是您最好的选择。