Yurik
/dev/null
Ефективно из трех таблиц
Есть три таблицы: книги, инвентарные номера и приём-выдача
Хотелось бы сделать запрос, который бы выводил только те книги которые имеют хоть один имеющийся в наличии инвентарный номер, т.е. не выводить те книги у которых для всех idinvno в таблице rent datein='0000-00-00', т.е. приёма ещё не было.
Таблицы сравнительно большие и обыкновенные запросы на выборку книг выполняются не очень быстро (сравнительно). Если ко всему этому ещё прицепить две таблицы, которые больше первой, то время выполнения запроса будет очень существенным.
Как это можно сделать поефективней.
P.S. ИМХО нужно добавить boolean поле в таблицу книг и при выдаче книги проверять остался ещё хоть один экземпляр или нет, и если нет, то поставить в поле 'N', а при приёме - 'Y'. Но это уже как бы дублирование информации и привязка к скрипту приёма-выдачи. Хотелось бы более независимое решение.
Есть три таблицы: книги, инвентарные номера и приём-выдача
PHP:
+--------+ +--------+ +--------+
| books | | invno | | rent |
+--------+ +--------+ +--------+
| id |----| idbook | +- | idinvno|
| descr | | invno | | | id_who |
+--------+ | idinvno|-+ | dateout|
+--------+ | datein |
+--------+
Таблицы сравнительно большие и обыкновенные запросы на выборку книг выполняются не очень быстро (сравнительно). Если ко всему этому ещё прицепить две таблицы, которые больше первой, то время выполнения запроса будет очень существенным.
Как это можно сделать поефективней.
P.S. ИМХО нужно добавить boolean поле в таблицу книг и при выдаче книги проверять остался ещё хоть один экземпляр или нет, и если нет, то поставить в поле 'N', а при приёме - 'Y'. Но это уже как бы дублирование информации и привязка к скрипту приёма-выдачи. Хотелось бы более независимое решение.