У меня есть таблицы fact
и budget
, в таблице budget
нет значений для каждой категории
Category Budget
A 100
B 50
C не имеет записи в budget
Похоже, что запрос превращается во внутреннее соединение в SQL Server 2012. В моем текущем местоположении я использовал тот же синтаксис в SQL Server 2005, и там он по-прежнему возвращает все записи.
Не могу проверить SQL Server 2008 прямо сейчас.
SELECT distinct Category
FROM FactRide
LEFT OUTER JOIN
Budget ON FactRide.Category = Budget.Category
WHERE
(Budget.BudgetType = 'Ride' OR Budget.BudgetType IS NULL)
Я пропустил изменение в SQL Server 2012?
Проблема в том, что результат не возвращает категорию C, как следует. Когда я добавляю строку в бюджет с категорией C и значением бюджета «Нуль», проблема «решена».
Но я хотел бы знать, должен ли я попросить поставщика сгенерировать другой SQL или посмотреть пакет обновления SQL 2012....