Min*_*iel 7 sql t-sql sql-server-2008-r2
如果我可以执行以下select语句来创建具有一个值的表
SELECT 'myname' AS 'Name'
Run Code Online (Sandbox Code Playgroud)
这将返回一个包含column = Name和一个value = myname的表
我该如何解决这个问题,只从select语句中返回一个包含多个值的列
我不想这样做:
DECLARE @tmp TABLE (Name varchar(50))
INSERT INTO @tmp (Name) VALUES ('myname1'),('myname2')
SELECT * FROM @tmp
Run Code Online (Sandbox Code Playgroud)
SELECT如果可能的话,只需一份声明
如果您只想使用SELECT语句模拟具有多行的表,则通常可以使用UNION行来完成:
SELECT 'myname1' AS 'Name' UNION
SELECT 'myname2' UNION
SELECT 'myname3'
-- etc
Run Code Online (Sandbox Code Playgroud)
演示:http://www.sqlfiddle.com/#!3 / d41d8/ 12433
或者,您可以在SELECT中使用多个VALUES,例如:
SELECT [Name]
FROM (VALUES ('myname1'),('myname2')) AS X([name])
Run Code Online (Sandbox Code Playgroud)