imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Веб-мастеру > Веб-программирование
Опции темы
Старый 20.05.2008, 12:01     # 1
Viromаn
Banned
 
Аватар для Viromаn
 
Регистрация: 09.03.2008
Сообщения: 32

Viromаn Нуль без палочки
Сложный 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)";

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

Теперь мне надо сделать фильтр, то есть фильтр, который бы дальше отфильтровывал из этого запроса значения, которые соответствуют определённой спецификации. Вот как собственно из уже сформированного запроса ещё дальше углубить фильтрацию, именно обуславливаясь со ссылкой на вышеприведённый запрос. Уж очень не хочется делать два запроса, и черех пхп их выколачивать, коль через мскл наверняка идёт тоже.
Viromаn вне форума  
Старый 20.05.2008, 12:58     # 2
BorLase
::VIP::
 
Аватар для BorLase
 
Регистрация: 09.09.2002
Адрес: Kiev
Пол: Male
Сообщения: 1 150

BorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех Гуру
гм

а что мешает добавить нужное количество условий через 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 ........
__________________
Great minds discuss ideas. Average minds discuss events. Small minds discuss people.
BorLase вне форума  
Старый 22.05.2008, 23:12     # 3
Naked
::VIP::
 
Аватар для Naked
 
Регистрация: 15.05.2005
Адрес: Питер
Сообщения: 1 194

Naked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked Сэнсэй
логичнее, если Ваш запрос всегда такой как вы написали сделать его как View, честно говоря не помню есть ли это в 4 мускуле, но в пятом точно есть:
http://dev.mysql.com/doc/refman/5.0/en/create-view.html
возможно называется "временная таблица" где-нибудь в документациях.....собственно вообще полезненько почитать про это где-нибудь - для веба для достаточно сложных запросов очень и очень полезная штука....
__________________
Чтобы воля стала действующим началом, тело должно быть совершенным.
Naked вне форума  
Старый 26.05.2008, 02:54     # 4
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

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

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.
Hubbitus вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


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




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