Задавайте вопросы, мы ответим
Вы не зашли.
Здравствуйте,
Помогите решить проблему! Без Вас не справлюсь...
Дано:
Клиент выписывает счет в интернет-магазине. В БД создаются записи в двух таблицах "Счета" (общая информация) и "Строки счета" (информация по заказанным товарам). Связь "Счетов" со "Строками счет" - Один ко многим
Т.е. в таблице строки счета при заказе 3 различных наименований товара создается новые строки с ID заказанных товаров (типовая схема)
--
В базе данных есть еще две таблицы "Триггеры" и "Маска срабатывания", где "Триггеры" (название триггера и общая информация), а "Маска срабатывания" это набор ID товара наличие которого в заказе клиента вызовет срабатывание триггера. Связь "Триггеры" со "Маска срабатывания" - Один ко многим
Задача
Нужно зная номер счета (по сути набор строк счета) получить ID триггера у которого в точности совпадает Маска.
Пример:
Клиент выписал счет на три товара.
В таблице Счета создалась запись с id_account = 1
В таблице Строки счета создались три записи:
Запись 1: id_account = 1 и id_goods = 4
Запись 2: id_account = 1 и id_goods = 5
Запись 3: id_account = 1 и id_goods = 6
Нужно из таблице Триггеры получить все ID-триггера маски которых имеют 3 условия соответствующие заказу:
Условие 1: id_goods = 4
Условие 2: id_goods = 5
Условие 3: id_goods = 6
Помогите пожалуйста решить проблему, по возможности без вложенных SELECT.
Заранее спасибо!
P.S.: Уже успел найти похожую тему на форуме (http://sqlinfo.ru/forum/viewtopic.php?id=577), но там что-то не то, по моему...
Отредактированно AutoWebOffice (08.01.2014 18:21:05)
Неактивен
Приведите пример, что именно хранится в таблицах триггеров и масок для данного случая.
Неактивен