Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Двойной запрос к одной базе

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
wisedarkness
Отправлено: 27 Апреля, 2016 - 13:44:57
Post Id


Новичок


Покинул форум
Сообщений всего: 15
Дата рег-ции: Февр. 2013  


Помог: 0 раз(а)




Здравствуйте.
Не получается осуществить выборку по 2-ум одинаковым полям из разных строк из 1 таблицы, где 1 поле LIKE, другое =

Есть вот такой рабочий код-
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT DISTINCT `uid` FROM `TABLE` WHERE `data` IN ( '$search','$search_v' ) AND `type`='user' GROUP BY `uid` HAVING count(DISTINCT `data`) = '2'


Ищет по двум полям как надо, но возникла потребность в использовании LIKE '$search_v'

Такое не проходит т.к в 1 строке только одно поле `data`
CODE (SQL):
скопировать код в буфер обмена
  1. WHERE `data` = '$search' AND `data` LIKE '%$search_v%'


При
CODE (SQL):
скопировать код в буфер обмена
  1. WHERE `data` = '$search' OR `data` LIKE '%$search_v%'

Выводит много лишнего.

Пробовал через JOIN
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT `t1`.`uid` FROM `TABLE` AS `t1` LEFT JOIN `TABLE` AS `t2` ON (`t2`.`data` LIKE '%$search_v%') AND(`t2`.`data`='$search') WHERE  `t1`.`data` AND `t1`.`uid`=`t2`.`uid`  AND `t1`.`type`='user' GROUP BY `t1`.`uid`

Пробовал менять местами и по разному ставить параметры из ON и WHERE, но пока не получается.

Смысл в том, что 1 параметр data=$search должен иметь бОльший приоритет.
А потом шел поиск по data LIKE %$search_v%
Группируя по uid
Решение вроде кажется простым и очевидным, но я пока не могу понять как это осуществить.
Спасибо! Улыбка
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB