-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 - 为电话号码数据类型是字符,在实际情况下)在每种情况下。而不是返回电话号码。 –