IMHO.WS

IMHO.WS (https://www.imho.ws/index.php)
-   Веб-программирование (https://www.imho.ws/forumdisplay.php?f=29)
-   -   Сложный Mysql запрос (https://www.imho.ws/showthread.php?t=132537)

Viromаn 20.05.2008 12:01

Сложный 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)";

Так вот из таблицы берутся только те значения, которые либо совпадают в первом запросе, либо во втором, при этом повторения урезаются.

Теперь мне надо сделать фильтр, то есть фильтр, который бы дальше отфильтровывал из этого запроса значения, которые соответствуют определённой спецификации. Вот как собственно из уже сформированного запроса ещё дальше углубить фильтрацию, именно обуславливаясь со ссылкой на вышеприведённый запрос. Уж очень не хочется делать два запроса, и черех пхп их выколачивать, коль через мскл наверняка идёт тоже.

BorLase 20.05.2008 12:58

гм

а что мешает добавить нужное количество условий через 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 ........

Naked 22.05.2008 23:12

логичнее, если Ваш запрос всегда такой как вы написали сделать его как View, честно говоря не помню есть ли это в 4 мускуле, но в пятом точно есть:
http://dev.mysql.com/doc/refman/5.0/en/create-view.html
возможно называется "временная таблица" где-нибудь в документациях.....собственно вообще полезненько почитать про это где-нибудь - для веба для достаточно сложных запросов очень и очень полезная штука....

Hubbitus 26.05.2008 02:54

Ну к предложенным двум вариантам выше, еще могу предложить вложенный запрос, и запрос к нему как к стаблице (MySQL 4.1+ вроде подзапросы начал поддерживать) ну и как альтернатива вьюхам (view) можно рассмотреть Prepared Statements


Часовой пояс GMT +4, время: 20:58.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.