2014-04-30 55 views
0

我有這樣一個表:如何選擇多行到多列?

id name 
1 a  
2 b  
3 c  
4 d 
5 e  

如果我做select name from tableTest where id = 1 or id = 2,我得到這個:

name 
a 
b 

不過,我想這樣的結果:

name_1 name_2 
a  b 

-- 1, 2: Best: the value of id, or (AA, BB..) or (a, b, c,..) or anything 

我怎麼能這樣做

+1

如果你使用PHP,那麼你可以做到這一點在PHP或無論你使用的langauge –

+0

想法指望有多少返回數據,然後創建生成的'name_i'然後每個值分配給其生成的'name_i' –

+0

不幫助你對不起,但對於任何發現此問題的SQL Server用戶,[PIVOT和UNPIVOT](http://technet.microsoft.com/en-us/library/ms177410(v = sql.105).aspx)命令都可以做這個。 – Jeff

回答

0
select max(case when id=1 then name end) as name_1, 
     max(case when id=2 then name end) as name_2 
From test 

SQL Fiddle Demo