Вопрос по 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
Спасибо.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Были темы уже, тут можно придумать много вариантов)
 

baev

‹°°¬•
Команда форума
Надо выбрать s_id у которой будет p_id=5 и p_id=3 т.е. в результате должно быть s_id=2
— не ленитесь, опишите подробнее, что «должно быть».
(«Надо выбрать s_id у которой» — подразумевается, что «s_id» женского рода?..)
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Код:
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
Обычно задача сводится к генерации запроса
 

Benderlio

Новичок
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.
это поиск с параметрами, человек выбирает необходимые параметры на выходе результат.
 

Semen

Семён
PHP:
SELECT * FROM `s` AS `t1`, `s` AS `t2`
WHERE `t1`.`p_id`=5 AND `t2`.`p_id`=3
GROUP BY `t1`.`s_id`
 

Benderlio

Новичок
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

web.dev 2002-...
Команда форума
Партнер клуба
Напиши еще раз, что и кто у тебя там выдает. Тебя нереально понять.
 

Benderlio

Новичок
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)
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Benderlio
Это потому, что надо было брать мой второй запрос.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
это таблица, так, как назвал ее у себя я. Перепиши его на свои имена таблиц-колонок
 
Сверху