我有这些表
| idEmail | idPerson | email | | 213 | 1 |abc@abc.com| | 214 | 2 |def@abc.com| | 215 | 2 |fed@abc.com| | idPerson | name | lastName | | 1 | Joe | Black | | 2 | Will | Smith |
我想为每个人检索一条记录,显示所有这样的邮件地址:
| Name | lastName | email 1 | email 2 | | Joe | Black |abc@abc.com| | | Will | Smith |def@abc.com|fed@abc.com|
答案 0 :(得分:0)
您可以尝试使用JOIN
然后执行条件聚合函数。
SELECT Name,
lastName,
MAX(CASE WHEN t1.idPerson = 1 then email end) 'email 1',
MAX(CASE WHEN t1.idPerson = 2 then email end) 'email 2'
FROM t1 JOIN t2 on t1.idPerson = t2.idPerson
group by Name,lastName
答案 1 :(得分:0)
您也可以查看PIVOT语句,或将一组电子邮件用逗号或其他定界符放在一栏中