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]   

> Без описания
DlTA
Отправлено: 10 Марта, 2021 - 14:10:43
Post Id



Постоянный участник


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


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




Добрый

мне нужно выбрать из базы значение которое выдается несколько раз
на примере, в 2х таблицах t1, t2. с полями id, p1 и id, p2
t1:
id | p1
t2:
id | p2
в запросе
CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. SELECT
  3.   t1.id
  4. FROM
  5.   t1
  6.   JOIN t2 ON t1.p1=t2.id
  7. WHERE
  8.   t2.p2 IN (1,2,3)
  9.  

нужны t1.id те записей где t2.p2=1 и t2.p2=2 и t2.p2=3

примерно как:
Спойлер (Отобразить)
смотрим только на те id где cnt=3


НО как такое запросить у базы?
 
 Top
DlTA
Отправлено: 12 Марта, 2021 - 14:58:11
Post Id



Постоянный участник


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


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




мне придумался один вариант:

CODE (SQL):
скопировать код в буфер обмена
  1. SELECT id
  2. FROM
  3. (
  4.   SELECT id,COUNT(id) AS cnt
  5.   FROM
  6.   (
  7.     SELECT
  8.       id
  9.     FROM
  10.       tab
  11.     WHERE
  12.     ...
  13.   ) AS t
  14.   GROUP BY id
  15. ) AS t
  16. WHERE
  17.   cnt>2

запрос состоит на 3 уровня (или как оно называется)
в начале выборка, потом определяем сколько раз повторяется, а на верхнем отсекаем малое повторение, в запросе cnt>2

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