-1
A
回答
1
select emplid,
max(case when phone_type='home' then phone_number else -1 end) Home,
max(case when phone_type='cell' then phone_number else -1 end) Cell,
.....
from phone_data
group by emplid;
您不能混用字符和NU meric在一個字段中,如果您在輸出中需要n/a,則需要使電話號碼列字符變爲另一個步驟。
-1
試試這個SQL查詢!
DECLARE @cols AS NVARCHAR(MAX),@query AS NVARCHAR(MAX);
SET @cols = STUFF((SELECT distinct ',' + QUOTENAME(c.phone_type)
FROM youtablename c
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)')
,1,1,'')
set @query = 'SELECT empid, ' + @cols + ' from
(
select empid
, phone_number
, phone_type
from youtablename
) x
pivot
(
max(phone_number)
for phone_type in (' + @cols + ')
) p '
execute(@query)
0
select t.empid as empid, cell.phone_number as cell, home.phone_number as Home
from telephones t
inner join telephones cell on t.empid = cell.empid
inner join telephones home on t.empid = home.empid
where cell.Phone_type = "cell"
and home.Phone_type = "home"
group by t.empid
和一個SQL小提琴:http://sqlfiddle.com/#!2/6bb17/11
+0
僅爲擁有phone_type即Cell和Home的員工返回一組數據。在任何情況下,一個人只有一個phone_type然後不會返回該特定的行。 –
相關問題
- 1. SQL的情況下
- 2. 怎樣寫SQL在以下情況下
- 3. 在以下情況下
- 4. 如何在以下情況下創建Oracle SQL語句?
- 5. SQL建議 - 爲特定的情況下
- 6. 以下情況下的SQL查詢
- 7. 我被困在非常糟糕的情況下。幫助請
- 8. 的情況下
- 9. SQL錯誤的情況下
- 10. SQL的情況下FROM(UNIX_TIME)
- 11. SQL的情況下或不
- 12. 的使用情況下,SQL
- 13. 在某些情況下創建它
- 14. 某些情況下的「困難」排序
- 15. 我可以在沒有「擴展」的情況下創建GUI嗎?
- 16. 我可以在沒有Visual Studio的情況下創建ClickOnce嗎?
- 17. 我可以在沒有設置ContentLength的情況下創建WebRequest
- 18. 開關情況下的多種情況?
- 19. SQL一般情況下/ QODBC
- 20. SQL情況下,搜索
- 21. onStatusChanged情況下
- 22. 情況下consrtuct
- 23. 創建參數的情況下
- 24. MemoryLeak在下列情況下
- 25. Oracle SQL的情況下,爲了排序
- 26. 短跑情況下(Kebab的情況下)的數據在角2
- 27. 泄漏在以下情況下
- 28. 用於以下情況
- 29. 查詢以下情況
- 30. 情況下,T-SQL在SQL Server 2005/2008
上面的代碼不工作,返回-1(N/A - 爲電話號碼數據類型是字符,在實際情況下)在每種情況下。而不是返回電話號碼。 –