http://sqlfiddle.com/#!9/cfd41ef/1
Я хочу получить каждую строку из таблицы person , и если предложение WHERE равно false, я хочу получить нулевые значения.Есть ли способ сделать это?Заранее спасибо.
CREATE TABLE `pet` (
`owner_id` INT(11) NULL DEFAULT NULL,
`pet_type` ENUM('DOG','CAT') NULL DEFAULT NULL,
`pet_name` VARCHAR(50) NULL DEFAULT NULL
)
COLLATE='latin1_swedish_ci'
ENGINE=InnoDB
;
CREATE TABLE `person` (
`id` INT(11) NULL DEFAULT NULL,
`first_name` VARCHAR(50) NULL DEFAULT NULL,
`last_name` VARCHAR(50) NULL DEFAULT NULL
)
COLLATE='latin1_swedish_ci'
ENGINE=InnoDB
;
INSERT INTO `person` (`id`, `first_name`, `last_name`) VALUES
(1, 'qwe', 'asd'),
(2, 'asd', 'fgh'),
(3, 'zxc', 'vbn');
INSERT INTO `pet` (`owner_id`, `pet_type`, `pet_name`) VALUES
(1, 'DOG', 'rex');
SELECT person.*, pet.pet_name FROM person LEFT JOIN pet ON person.id = pet.owner_id WHERE pet.pet_type = 'DOG'
Спасибо, Лукаш Шозда и Йогеш Шарма, за ваш ответ, перевод условия в положение ВКЛ делает то, что я хотел