выберите * из группы Настройщиков по CompanyID;
у вернуть все строки из таблицы контрактов, но второе предложение WHERE возвращает только строки, которые не равны NULL. (Другими словами, в приведенном ниже коде ограничение «CAD» означает, что примерно половина возможных строк не имеет значения, торгуемого в канадских долларах, и, следовательно, не возвращаются - в то время как я хочу, чтобы все возможные строки возвращались со значениями NULL, где это применимо).
Я полагаю, что это самоотключение влево, но я борюсь с синтаксисом (и / или мне нужно сделать внутренний выбор),
SELECT MeasurableID,
EntityID,
MIN (ContractPrice) AS LowPrice,
MAX (ContractPrice) AS HighPrice
FROM dbo.Contracts
WHERE dbo.Contracts.MeasurableID = 2018
AND Contracts.CurrencyCode IN ( 'CAD' )
GROUP BY
dbo.Contracts.MeasurableID,
dbo.Contracts.EntityID