2016-05-13 95 views
0

我已经写了这样的代码显示数据水平

SELECT * FROM TestTable 

这得到在垂直视图中的输出。

ID | Name 
1 | John 
2 | Mckensy 
3 | Valneech 
4 | Zeebra 

但是,我需要水平显示它。

1 | 2  | 3  | 4 
John | Mckensy | Valneech | Zeebra 

如何做到这一点?

+0

你能提供的表结构? – mattymanme

+1

这就是所谓的'pivoting'。你试图完成哪个引擎? (SQL Server,MySQL,Oracle ...) – Edu

+0

创建表testable(id into,name char(20)) –

回答

0

您可以使用数据透视来达到要求。既然你没有发布任何数据模型,我已经草拟了一个粗略的逻辑。请检查它,如果工程

静态

select * from your table 
pivot (name for id in ([1],[2],[3],[4])) as anyrandomname 

供您参考,您可以参考此链接。

https://blogs.msdn.microsoft.com/spike/2009/03/03/pivot-tables-in-sql-server-a-simple-sample/ 
+0

这里输入id为1 2 3 4 static。但是我有很多数据。我不想放置静态数据。应该做什么? –

+0

你使用哪个数据库@ Md.AbdulMasudRana –

+0

SQL服务器数据库 –

0
select (select Name from test where ID=1) as 1, 
     (select Name from test where ID=2) as 2, 
     (select Name from test where ID=3) as 3, 
     (select Name from test where ID=4) as 4 
from test 
group by 1,2,3,4