Wypróbuj podzapytania podobne do tego
SELECT
DATEDIFF(
(
SELECT MIN(date)
FROM Transaction
WHERE trans_type='Sell'
) AS first_sell_date
,
(
SELECT MIN(date)
FROM Transaction
WHERE trans_type='Buy'
) AS first_buy_date
)
EDYCJA:Śledzenie komentarzy OP i aktualizacja pytania z pełnym zapytaniem.
Czy nie możesz po prostu owinąć DATEDIFF wokół MIN połączenia?
DATEDIFF(
MIN(case when t.trans_type ='Sell' then transaction_date end),
MIN(case when t.trans_type ='Buy' then transaction_date end)
) as Date