Я использую этот запрос в ClickHouse:
SELECT DISTINCT
iap.EventId,
iap.Id as Title,
ole.RewardId,
ole.RewardGain,
if((ole.RewardType = 'Currency' and ole.RewardId = 'Cash'), ole.RewardGain, null) as Soft
FROM OpenLootboxEvent ole
ANY LEFT OUTER JOIN InAppPurchaseEvent iap
ON ole.EventSourceId = iap.EventId
WHERE iap.Id in ('superHotDeal');
Этот запрос возвращает результат:
EventId Title RewardId Gain
---------------------------------------------------------------------
111 superHotDeal m3 5
111 superHotDeal m14 13
111 superHotDeal m20 25
111 superHotDeal Cash 282
111 superHotDeal Talent null
111 superHotDeal Hard null
Каждый «EventId» и «Title» имеет 6 значений, где «RewardId "может иметь значение от" m1 "до" m26 "и всегда может иметь значения" Ca sh "," Talent "," Hard ".
Как я могу получить все строки с одинаковым" EventId »и« Title »в одной строке?
Вот так:
EventId Title man1 man1Cards man2 man2Cards man3 man3Cards Cash Talent Hard
----------------------------------------------------------------------------------------------
111 superHotDeal m3 5 m14 13 m20 25 282 null null