7

次のselectステートメントを実行して、1つの値を持つテーブルを作成できる場合

 SELECT 'myname' AS 'Name' 

これにより、列 = Name と 1 つの値 = myname を持つテーブルが返されます

これを回避して、select ステートメントだけから複数の値を持つ 1 つの列を返すにはどうすればよいですか

私はこれをしたくありません:

 DECLARE @tmp TABLE (Name varchar(50)) 

 INSERT INTO @tmp (Name) VALUES ('myname1'),('myname2') 
    SELECT * FROM @tmp

可能であれば、単一のSELECTステートメントから

4

3 に答える 3

10

with ステートメントだけで複数の行を持つテーブルをシミュレートしたい場合SELECT、これは通常、UNIONof 行で実行できます。

SELECT 'myname1' AS 'Name' UNION
SELECT 'myname2' UNION
SELECT 'myname3'
-- etc

デモ: http://www.sqlfiddle.com/#!3/d41d8/12433

于 2013-04-12T19:48:50.437 に答える
9

または、次のように SELECT で複数の VALUES を使用できます。

SELECT [Name]
FROM (VALUES ('myname1'),('myname2')) AS X([name])
于 2013-04-12T21:36:28.740 に答える