|
связующая таблица
|
|||
---|---|---|---|
#18+
Привет всем! Вот - не могу никак в одном запросе все сделать. Первая таблица - номера книг и названия книг, вторая - номера авторов и имена авторов. Положим есть третья связующая (две других) таблица. В ней строки (номера книг и номера авторов) 1, 4 1, 5 2, 3 2, 5 т.е. от обеих таблиц к ней связи "один ко многим" - "многим" - с ей стороны (если ничего не путаю). т.е. у книг 1 и 2 есть несколько авторов и эти авторы могут быть у любой из книг... хм.. теперь если я выберу select * from table1, table2, table3 where table1.id=table3.id_of_table1 and table2.id=table3.id_of_table2 and ( (table3.id_of_table2=4) OR (table3.id_of_table2=5)) вернутся толко те, у которых или 4 или 5 или оба автора. а вот как по AND??? чтобы вернулись только те, у которых и 4 и 5 есть! КАК БЫТЬ? ЗЫЖ Может быть вложенные запросы? Но тут не пройдет - у меня mysql. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2002, 16:52 |
|
связующая таблица
|
|||
---|---|---|---|
#18+
Такая связь называется многие-ко-многим Тебе надо три таблицы! Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2002, 09:59 |
|
|
start [/forum/topic.php?fid=47&fpage=713&tid=1856257]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
33ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
42ms |
get tp. blocked users: |
2ms |
others: | 284ms |
total: | 409ms |
0 / 0 |