将具有多个联系人的帐户显示为单独的列而不是行?

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