将具有多个联系人的帐户显示为单独的列而不是行?
Show accounts with multiple contacts to as separate columns rather than rows?
假设,我有 table 个联系人。
table 有联系人 ID 和帐户 ID
所以如果我这样做
Select ContactID,AccountID From table
我明白了:
相反,我想看到这个:
这合理吗?
对于两个且只有两个联系人的帐户,聚合似乎是一个直接的选项:
select account_id, min(contactId) contactId1, max(contactId) contactId2
from mytable
group by account_id
如果某些帐户有 2 个联系人而其他帐户只有 1 个,则:
select
account_id,
min(contactId) contactId1,
case when count(*) > 1 then max(contactId) end contactId2
from mytable
group by account_id
假设,我有 table 个联系人。 table 有联系人 ID 和帐户 ID 所以如果我这样做
Select ContactID,AccountID From table
我明白了:
相反,我想看到这个:
这合理吗?
对于两个且只有两个联系人的帐户,聚合似乎是一个直接的选项:
select account_id, min(contactId) contactId1, max(contactId) contactId2
from mytable
group by account_id
如果某些帐户有 2 个联系人而其他帐户只有 1 个,则:
select
account_id,
min(contactId) contactId1,
case when count(*) > 1 then max(contactId) end contactId2
from mytable
group by account_id