SELECT @col_list = Stuff((SELECT ',id = max(case when id = '
+ Cast(id AS VARCHAR(50))
+ ' then id end), mobilenumber = max(case when id = '
+ Cast(id AS VARCHAR(50))
+ ' then mobilenumber end)'
FROM [dbo].[TransactionContact] where transactionid in (137103,137102)
ORDER BY id
FOR xml path('')), 1, 1, '')
EXEC ('select' + @ col_list + 'из [dbo]. [TransactionContact]')
Это работает, как указано выше, но приносит контакт для всех транзакций в одной строке вместо другой строки