如何将其加入一个表?
select xxx.* from
(
(select a from x where a in (q)) as kk,
(select a from x where a in (w)) as hh,
(select a from x where a in (e)) as gg
) xxx
我想得到:
gg|hh|kk
---------
1 |2 |3
(结果只是一个例子)
答案 0 :(得分:1)
您要做的事情称为支点。以下是您的数据的简单示例:
WITH cte AS (
SELECT xxx.* from
(
(select 1 as val, 'a' AS id) UNION ALL
(select 2 as val, 'b' AS id) UNION ALL
(select 3 as val, 'c' AS id)
) AS xxx
)
SELECT *
FROM cte AS p
PIVOT (MAX(val) FOR id IN ([a], [b], [c])) AS pvt
答案 1 :(得分:0)
好的,你没有提到的是你发布的查询不起作用(你有额外的括号)。以下是我认为你想要的答案:
从你的第一个例子......
select *
from
(select 1 as a) as table1,
(select 2 as b) as table2,
(select 3 as c) as table3;
如果您有多列:
select table1.aa as a, table2.bb as b, table3.cc as c
from
(select 1 as aa, 11 as aaa) as table1,
(select 2 as bb, 22 as bbb) as table2,
(select 3 as cc, 33 as ccc) as table3;
两者都给:
a b c
1 2 3
答案 2 :(得分:-1)
这个怎么样?
select xxx.*
from (select 1 as a, 2 as b, 3 as c) as xxx;