Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Многие ко многим???

2.3K
14 ноября 2002 года
bookworm
4 / / 14.11.2002
Привет всем!
Хм.. никак не могу разобраться...
Положим есть связующая таблица. В ней строки
1, 4
1, 5
2, 3
2, 5
т.е. связывает многие ко многим (если ничего не путаю).
т.е. у объектов 1 и 2 есть несколько вариантов характеристик и эти
характеристики могут быть у любого из объектов...
хм..
теперь если я выберу из таблицы

SELECT * FROM tabl WHERE ((filed1 = 4) OR (filed1 = 5));
то получу 2 строки!

хорошо... если я буду делать выбор сразу по нескольким таблицам - используя
DISTINCT уберу дубли..

А если я хочу получить объект, у которого есть и 4 и 5 -характеристики???
Вот это не помогает:

SELECT * FROM tabl WHERE ((field1 = 4) AND (field1 = 5));
Да и выглядит не очень логично...

КАК БЫТЬ?
2.5K
17 ноября 2002 года
john
6 / / 29.10.2002
[QUOTE]Originally posted by bookworm
рТЙЧЕФ ЧУЕН!
рПРТПВХК РПДЪБРТПУ
ФП ЕУФШ Ч РПДЪБРТПУЕ ПФВЙТБЕЫШ ПВЯЕЛФЩ
УП УЧПКУФЧПН 4 ,Б Ч ЪБРТПУЕ ПУЕЙЧБЕЫШ ФЕ
Х ЛПФПТЩИ ОЕФ РСФЕТЛЙ
2.3K
17 ноября 2002 года
bookworm
4 / / 14.11.2002
Дык ;) Я же под MySQL.
Так что мне подкинули другую идею - сделать на временных таблицах (смысл тот же, что и с вложенным запросом).
Вопрос в том - нельзя ли все-таки одним запросом.
2.5K
18 ноября 2002 года
john
6 / / 29.10.2002
[QUOTE]Originally posted by bookworm
Попробуй через join
таблицу на себя и отфильтруй через where
4 and 5
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог