Вопрос по where ... and

Benderlio

Новичок
Добрый день, что-то я залип. Есть таблица вида
| id | s_id | p_id
1 | 2 | 5
2 | 2 | 3
3 | 2 | 4
4 | 5 | 1
5 | 5 | 3

Надо выбрать s_id у которой будет p_id=5 и p_id=3 т.е. в результате должно быть s_id=2
т.е. что-то типа select s_id from s where p_id=5 and p_id=3
Спасибо.
 
Были темы уже, тут можно придумать много вариантов)
 
Надо выбрать s_id у которой будет p_id=5 и p_id=3 т.е. в результате должно быть s_id=2
— не ленитесь, опишите подробнее, что «должно быть».
(«Надо выбрать s_id у которой» — подразумевается, что «s_id» женского рода?..)
 
Код:
select g1.* from grp g1 
JOIN (select g2.sid from grp g2 where g2.pid=3) gx ON g1.sid=gx.sid
where g1.pid=5

Код:
SELECT g1.* from grp g1
JOIN grp g2 ON g1.sid=g2.sid
WHERE g1.pid=5 AND g2.pid=3

Обычно задача сводится к генерации запроса
 
c0dex
мне хотя бы один .

baev
надо найти такое s_id у которого будет (p_id=5 and p_id=3)
т.е. запрос вида select s_id from s where p_id in (5,3) выбирает или 5 или 3 а мне надо и 5 и 3.
это поиск с параметрами, человек выбирает необходимые параметры на выходе результат.
 
PHP:
SELECT * FROM `s` AS `t1`, `s` AS `t2`
WHERE `t1`.`p_id`=5 AND `t2`.`p_id`=3
GROUP BY `t1`.`s_id`
 
Semen
c0dex
Странно но результат такого запроса выдает либо у которого 4 либо 1 а не 4 и 1
SELECT *
FROM terms_2_spa AS t1, terms_2_spa AS t2
WHERE t1.terms_id =4
AND t2.terms_id =1
GROUP BY `t1`.`spa_id`
, т.е. результат тоже что и если бы select * from terms_2_spa where terms_id in (1,4)
 
Напиши еще раз, что и кто у тебя там выдает. Тебя нереально понять.
 
c0dex
вот этот запрос предложеный выше
PHP:
SELECT * FROM `s` AS `t1`, `s` AS `t2`
WHERE `t1`.`p_id`=4 AND `t2`.`p_id`=1
GROUP BY `t1`.`s_id`
выдает результатом поля у которых p_id=4 или p_id=1 а мне надо что бы было И, т.е. (p_id=4 и p_id=1)
 
Benderlio
Это потому, что надо было брать мой второй запрос.
 
это таблица, так, как назвал ее у себя я. Перепиши его на свои имена таблиц-колонок
 
Сверху