我在SQL Server上有一个问题,我想编写一个与其FROM
无关的查询。
我想SELECT
使用创建视图表和分配值的结果。
为了便于理解,假设我要创建一个具有2列(key
和value
)的视图表:
+-------+-----------+
|KEY | Value |
+-------+-----------+
|A | 15 |
|B | 16 |
|C | 17 |
|D | 18 |
|E | 19 |
+-------+-----------+
所有值都来自查询本身,而不是来自表。
我的查询是:
SELECT ('A', 'B', 'C', 'D', 'E') AS KEY,
(15, 16, 17, 18, 19) AS Value
FROM
t1 ---- table doesn't matter
如何利用SELECT
子句来实现它?
答案 0 :(得分:2)
您可以使用table value constructor创建一个“虚拟”表,并像使用其他任何表一样,在WHERE
子句中使用它:
select myTable.*
from
( values ('A',15),
('B',16)) myTable([key],value)
key
必须加引号,因为它是一个关键字。
答案 1 :(得分:0)
您可以尝试使用Pivot
查询
select *
from
(
select Keys, Value
from #yt
) src
pivot
(
min(Value)
for keys in ([A], [B], [C], [D], [E])
) piv;