2016-11-14 39 views
-2

我有一个表,说喜欢简单而扭曲的SQL查询

X Y 
1 3 
2 4 

现在,当在SQL视图表会显示

A1 A2 
1 3 
2 4 

但我想输出到像

A1 A2 
X Y 
1 3 
2 4 

是否有可能这样做?如果我能指出我的问题,请告诉我。

+0

你想要列名也..? – Mansoor

+5

目前还不清楚你想要达到什么样的目标以及什么是确切的问题。你能详细解释一下吗?还要注意:'sql'标签非常广泛,您的问题的可能解决方案可以与您正在使用的确切RDBMS紧密结合。 –

+0

@ Mansoor:是的,这是正确的。我也想要列名。 –

回答

0
DECLARE @ColNames VARCHAR(100),@Query VARCHAR(100) = '' 

CREATE TABLE TBL1(X INT,Y INT)CREATE TABLE TBL2(A1 VARCHAR(10),A2 VARCHAR(10))INSERT INTO TBL1(X,Y)SELECT 1,3- UNION ALL SELECT 2, 4 SELECT DISTINCT @ColNames = STUFF((SELECT','+ Col.name +'' FROM SYS.COLUMNS COL WHERE OBJECT_NAME(Col.OBJECT_ID)='Tbl1'FOR XML PATH('')),1,1 ,'')SET @Query ='SELECT'''+ REPLACE(@ColNames,',',''',''')+'''' INSERT INTO Tbl2(A1,A2) EXEC ) INSERT INTO Tbl2(A1,A2) SELECT 1,3 UNION ALL SELECT 2,4 SELECT * FROM Tbl2