Как выбрать заказы из связанной таблицы с условием?

Ссылка скопирована
1 ответ

Есть две таблицы
orders
-id
-name
order_product
-id
-order_id
-importance

Как получить все записи order, где order_product importance либо все нули, либо все единицы и нули.
Если все order_product importance 1, то такой заказ исключить

Дополнительно:

Учимся использовать конструкцию WHERE EXISTS / NOT EXISTS

select    *  from    orders  where    exists (     select        1      from        order_product      where        order_id = orders.id        and importance = 0   );

select * from orders where exists ( select 1 from order_product where order_id = orders.id and importance = 0 );

MySQL WHERE EXISTS test

  • Slava Rozhnev Спасибо большое, я так скоро весть sql выучу)
Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Павел Админов Ответ

Для выбора заказов из связанной таблицы с условием вам необходимо воспользоваться оператором JOIN в SQL. Предположим, у вас есть две таблицы: таблица "заказы" (orders) и таблица "пользователи" (users), причем каждый заказ принадлежит определенному пользователю.

Для выборки заказов из таблицы "заказы" с условием, связанным с таблицей "пользователи", вы можете использовать следующий SQL запрос:

SELECT orders.* 
FROM orders 
JOIN users ON orders.user_id = users.id 
WHERE users.name = 'Имя пользователя';

SELECT orders.* FROM orders JOIN users ON orders.user_id = users.id WHERE users.name = 'Имя пользователя';

В данном запросе мы используем оператор JOIN для объединения таблицы "заказы" и таблицы "пользователи" по условию, что идентификатор пользователя в таблице "заказы" равен идентификатору пользователя в таблице "пользователи". Затем мы добавляем условие, что имя пользователя равно определенному значению ('Имя пользователя' в данном случае).

Если вы хотите выбрать заказы с условием, связанным с другими столбцами таблицы "пользователи", вы можете изменить условие в операторе WHERE соответствующим образом.

Таким образом, используя оператор JOIN в SQL, вы можете легко выбирать заказы из связанной таблицы с различными условиями, связанными с другими таблицами в вашей базе данных.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно