![]() |
Сложный Mysql запрос
Приветствую всех присутствующих.
Туточки у меня имеется задачка, а задачка заключается в том, чтобы сформировать запрос по определённой специфике. Значит так, есть база, где хранятся значения определённых условных значений, таблица table_wid, в этой таблице каждое это значение находится в столбце LA_Nr, в общем словами труднее описать, я сразу весь запрос приведу, что я написал. $sql="select DISTINCT sa.LA_Nr from tbl_projekt_rb zu, table_wid sa, tbl_zu_la_proj la where (zu.MA_Nr='$Ma_Nr' and zu.Proj_Nr='$Proj_Nr' and zu.LA_Nr=sa.LA_Nr) or (la.Proj_Nr='$Proj_Nr' and la.LA_Nr=sa.LA_Nr)"; Так вот из таблицы берутся только те значения, которые либо совпадают в первом запросе, либо во втором, при этом повторения урезаются. Теперь мне надо сделать фильтр, то есть фильтр, который бы дальше отфильтровывал из этого запроса значения, которые соответствуют определённой спецификации. Вот как собственно из уже сформированного запроса ещё дальше углубить фильтрацию, именно обуславливаясь со ссылкой на вышеприведённый запрос. Уж очень не хочется делать два запроса, и черех пхп их выколачивать, коль через мскл наверняка идёт тоже. |
гм
а что мешает добавить нужное количество условий через and? where ( (zu.MA_Nr='$Ma_Nr' and zu.Proj_Nr='$Proj_Nr' and zu.LA_Nr=sa.LA_Nr) or (la.Proj_Nr='$Proj_Nr' and la.LA_Nr=sa.LA_Nr) ) and ........ |
логичнее, если Ваш запрос всегда такой как вы написали сделать его как View, честно говоря не помню есть ли это в 4 мускуле, но в пятом точно есть:
http://dev.mysql.com/doc/refman/5.0/en/create-view.html возможно называется "временная таблица" где-нибудь в документациях.....собственно вообще полезненько почитать про это где-нибудь - для веба для достаточно сложных запросов очень и очень полезная штука.... |
Ну к предложенным двум вариантам выше, еще могу предложить вложенный запрос, и запрос к нему как к стаблице (MySQL 4.1+ вроде подзапросы начал поддерживать) ну и как альтернатива вьюхам (view) можно рассмотреть Prepared Statements
|
| Часовой пояс GMT +4, время: 20:58. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.