![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| KonstRuctor |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 245 Регистрация: 31.3.2006 Где: Россия, Санкт-Пет ербург Репутация: нет Всего: нет |
Есть таблица (товары и фирмы условно)
Мне нужно получить TRUE, если фирма под номером 3 продает полный спектр товаров: и 1, и 2, и 3 Если у фирмы под номером 3 не хватает хотя бы одного товара, получаем FALSE. Номера товаров для данной фирмы уникальны: либо 1, либо 2, либо 3, т.е. у фирмы не могут быть две записи с товаром 1, две записи с товаром 2 и две записи с товаром 3. Записей для фирмы номер 3 с товаром 0 может быть сколько угодно. * * * Я это делаю через три запроса:
Понимаю, что это полный бред и можно сделать элегантнее и короче. Пробовал, ничего не выходит. Выручайте пожалуйста. |
||||
|
|||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 1 Всего: 454 |
Это при условии что количество товаров меняется, но любой присутствует в таблице хотя бы один раз. Джублирование записей не влияет, но если оно исключается (скажем constraint) - можно убрать первый distinct. Если наличие записей с товаром 0 не должно учитываться - добавь в оба запроса соответствующий Where. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Wwolf |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 16.6.2008 Где: Kiev region Репутация: нет Всего: 0 |
1. делаешь запрос по уникальным кодам товара без учета "0" по всей базе (количество записей)
2. делаешь запрос по уникальным кодам товара без учета "0" по нужной фирме (количество записей) 3. сравниваешь цифры запроса 1 и 2 4. если равно получаешь - TRUE иначе FALSE |
|||
|
||||
![]()
|
| 1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Базы Данных | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |