Задавайте вопросы, мы ответим
Вы не зашли.
Страниц: 1
Добрый день подскажите кто сможет.
Имеем таблицу вида
sid|value
---------
25|zxc
22|cxz
23|dsdf
24|wefwe
-----------
Необходимо отображение только при совпадении всех параметров.
пробовал так
Отредактированно 5564ff1aa6 (31.03.2017 22:52:25)
Неактивен
Пишите пожалуйста, соблюдая правила русского языка.
Неактивен
Нет, при таком запросе отображаются все данные из таблицы, а мне нужны только то что совпало.
Отредактированно 5564ff1aa6 (31.03.2017 22:59:02)
Неактивен
Отображаются все данные из таблицы, при условии, что в таблице есть те строки, которые Вы указали.
Что нужно, чтобы выводилось если
1) есть одна нужная строка, но нет другой?
2) есть обе нужных строки?
3) нет ни одной нужной строки?
Неактивен
мне надо следующее, пример если если sid равен 22 и value равно cxz, то отобразить только эту строку.
а если допустим, (sid=22 and value=22) но при этом sid=25 и value не равно zxc. то не отображать ничего.
Неактивен
5564ff1aa6 написал:
мне надо следующее, пример если если sid равен 22 и value равно cxz, то отобразить только эту строку.
SELECT * FROM `tbl` WHERE`sid` = 25 AND `value`= 'zxc';
5564ff1aa6 написал:
а если допустим, (sid=22 and value=22) но при этом sid=25 и value не равно zxc. то не отображать ничего.
value=22
value вроде принимает строчное значение?
SELECT
25,'zxc',22,'cxz'
FROM
`tbl`
WHERE
( EXISTS (SELECT 1 FROM tbl WHERE `sid` = 25 AND `value`= 'zxc' ) )
AND
( EXISTS (SELECT 1 FROM tbl WHERE `sid` = 22 AND `value`= 'cxz' ) )
;
А вообще имхо гораздо логичнее сделать вот так:
SELECT
count(*)
FROM
`tbl`
WHERE
(`sid` = 25 AND `value`= 'zxc' ) OR (`sid` = 22 AND `value`= 'cxz' ) ;
И если результат запроса равен 2, то и реализуйте ту логику, которая должна быть, если есть нужные 2 строки в таблице.
Неактивен
Страниц: 1