Я хочу получить ровно одну строку с car
данными с carName
и значениями, если они существуют, для makerName
и plateNumber
этого автомобиля.Проблема в соединении, когда некоторые поля пустые
Например, Ford Taurus, Ford, 4AD843
.
Если по какой-то причине Ford Taurus
не имеет номерной знак, я хочу, чтобы получить эту одну строку без значения в столбце номера плиты, например
Ford Taurus, Ford, null.
Я попытался sql
ниже, но я получить все значения для всех таблиц maker
и license
, а если добавить к статье where
ограничения для car.id
в таблицах maker
и license
я получаю 0 строк, если значение в license
является null
.
Как это можно сделать?
Что я пробовал:
select
car.id as carID,
maker.carId as makerCarId, maker.name as makerName,
license.carId as licenseCarId, license.plateNumber as plateNumber
from
car car,
maker maker,
license license
where car.id = 4951
;
Переключитесь на современный явный синтаксис JOIN. Легче писать (без ошибок), легче читать и проще конвертировать в внешнее соединение, если это необходимо. – jarlh
Где находятся условия для соединения таблиц. Вы получаете перекрестный продукт – Jens