Добрый
мне нужно выбрать из базы значение которое выдается несколько раз
на примере, в 2х таблицах t1, t2. с полями id, p1 и id, p2
t1:
id | p1
t2:
id | p2
в запросе
нужны t1.id те записей где t2.p2=1 и t2.p2=2 и t2.p2=3
примерно как: Спойлер (Отобразить)
CODE ( SQL):
скопировать код в буфер обмена
SELECT id, COUNT(*) AS cnt FROM ( SELECT t1.id 1 AS v1 FROM t1 JOIN t2 ON t1.p1=t2.id WHERE t2.p2 = 1 LIMIT 1 ) UNION( SELECT t1.id 1 AS v1 FROM t1 JOIN t2 ON t1.p1=t2.id WHERE t2.p2 = 2 LIMIT 1 ) UNION( SELECT t1.id 1 AS v1 FROM t1 JOIN t2 ON t1.p1=t2.id WHERE t2.p2 = 3 LIMIT 1 ) AS t
смотрим только на те id где cnt=3
НО как такое запросить у базы?
|