Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [mysql] "Сложная" выборка, одним SQL запросом 
:(
    Опции темы
Agares
  Дата 25.7.2008, 16:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 376
Регистрация: 20.5.2007
Где: Минск

Репутация: нет
Всего: нет



Есть следующий SQL запрос:
Код

SELECT 'dummy', u.user_id, u.login, u.subscription_level, u.user_group, u.pers_cid, u.user_partner_id, c.email, c.contact_id, c.country_id, c.person, c.url    
FROM users u 
LEFT JOIN contact c on u.pers_cid=c.contact_id 
LEFT JOIN country k on c.country_id = k.country_id 
LEFT JOIN vocabulary v on k.sid = v.sid and v.langid=1 
WHERE c.country_id = %%search_user_country%% and %%restrict%% and %%search_clause%% %%order_clause%% limit %%start_row%%,%%rows_number%%


c.country_id = %%search_user_country%% проверяется ID страны и если совпадает с запросом, то выводится. Но если ID пустое, ничего не выводится. Как сделать что бы если %%search_user_country%% пустое, то c.country_id = %%search_user_country%% не проверялось. Т.е. если ID не указали, то выводятся все юзеры всех стран. 

Я делаю поиск юзеров по критериям. Необходимо это осуществить одним sql запросом.

Заранее благодарю! 

Это сообщение отредактировал(а) Agares - 25.7.2008, 16:56


--------------------
Мой ноут: Impression First 657
ОС: Gentoo Linux
PM MAIL WWW Skype GTalk   Вверх
skyboy
Дата 25.7.2008, 17:32 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 15
Всего: 260



Цитата(Agares @  25.7.2008,  15:55 Найти цитируемый пост)
Я делаю поиск юзеров по критериям

на каком языке программирования? ты же запрос формируешь где-то? вот и проверяй...
PM MAIL   Вверх
Fortop
Дата 25.7.2008, 17:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 2
Всего: 42



Цитата(Agares @  25.7.2008,  16:55 Найти цитируемый пост)
Как сделать что бы если %%search_user_country%% пустое, то c.country_id = %%search_user_country%% не проверялось. Т.е. если ID не указали, то выводятся все юзеры всех стран. 

Не ставить его в условие

Как вариант - конструкция LIKE '%%' выведет вообще все что можно.


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
Agares
  Дата 25.7.2008, 17:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 376
Регистрация: 20.5.2007
Где: Минск

Репутация: нет
Всего: нет



мне нужно сформировать sql запрос. Это возможно?


--------------------
Мой ноут: Impression First 657
ОС: Gentoo Linux
PM MAIL WWW Skype GTalk   Вверх
xoslv
Дата 25.7.2008, 20:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 195
Регистрация: 12.1.2007

Репутация: нет
Всего: нет



На каком языке программирования ты разрабатываешь П.О. ?
--------------------
Не всё то маздай, что синее!
PM MAIL ICQ   Вверх
Fortop
Дата 26.7.2008, 00:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 2
Всего: 42



Цитата(Agares @  25.7.2008,  17:45 Найти цитируемый пост)
мне нужно сформировать sql запрос. Это возможно?

Играючись.

Только если хочешь точный ответ, то будет не лишним, указать с помощью какого языка ты хочешь это сделать 


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Составление SQL-запросов | Следующая тема »


 




[ Время генерации скрипта: 0.0490 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.