[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Просьба помочь с вложенным запросом
masterlelik
Есть две таблицы (товары и свойства)
t_tovars
tovar_id | title
t_properties
tovar_id | property_value

Как выбрать только те товары, для которых property_value=10 или для которых в таблице t_properties вообще нет записей?

_____________
walerus
SELECT * FROM `t_tovars` LEFT JOIN `t_properties` ON `t_tovars`.`tovar_id` = `t_properties`.`tovar_id` WHERE `t_properties`.`property_value` = '10' OR `t_properties`.`tovar_id` IS NULL
AllesKlar
walerus
LEFT JOIN выведет все записи из t_tovars в любом случае.
LEFT JOIN говорит: выдай мне все из левой таблицы, а справа прицепи согласно условию. Если условие не выполняется, то справа NULL
Т.е.
property_value == 10 ====>  t_tovars | 10
property_value == 15 ====> t_tovars | null
not exist property_value ====> t_tovars | null


_____________
[продано копирайтерам]
killer8080
Цитата (AllesKlar @ 10.04.2018 - 03:24)
walerus
LEFT JOIN выведет все записи из t_tovars в любом случае.

ну для этого там условие есть ... WHERE `t_properties`.`property_value` = '10' OR `t_properties`.`tovar_id` IS NULL чтоб не всё выводил smile.gif
AllesKlar
killer8080
А точно, че-т в полтретьего ночи зрение проседает biggrin.gif


_____________
[продано копирайтерам]
masterlelik
Спасибо, работает.

_____________
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.