我有一个名为employee的表,其中包含以下字段
Id | Name | PrimaryEmail1 | PrimaryEmail2 | PrimaryEmail3 1 | JonSkeet | NULL | NULL | jonskeet@test.com 1 | JonSkeet | NULL | Jon@test.com | jonskeet@test.com 1 | JonSkeet | skeet@test.com | NULL | jonskeet@test.com 2 | George | G1@Test.com | NULL | NULL 2 | George | NULL | G2@test.com | NULL 2 | George | NULL | NULL | G3@test.com
如何编写TSQL查询以便我可以获得以下结果集?
Id | Name | PrimaryEmail1 | PrimaryEmail2 | PrimaryEmail3 1 | JonSkeet | skeet@test.com | jon@test.com | jonskeet@test.com 2 | George | G1@test.com | G2@test.com | G3@test.com
MAX将消除NULL
SELECT
ID, Name,
MAX(PrimaryEmail1) AS PrimaryEmail1,
MAX(PrimaryEmail2) AS PrimaryEmail2,
MAX(PrimaryEmail3) AS PrimaryEmail3
FROM
employee
GROUP BY
ID, Name
Run Code Online (Sandbox Code Playgroud)
但是,您的JonSkeet示例显示PrimaryEmail3是相同的.您是否会期望每个ID +名称有不同的值?如果是这样,除非选择MAX(或MIN偶数),否则不能组合成一行.
这假设Id-Name对也是一致的
| 归档时间: |
|
| 查看次数: |
360 次 |
| 最近记录: |