MySQL запрос, error 1242
1.
HQ-Maker (14.09.2012 / 02:30)
Здрастуйте, кто поможеть делать правильный запрос.
Запрос:
SELECT bans.id,bans.aid,bans.path FROM bans WHERE bans.active = '1' AND bans.enable = '1'
AND (SELECT targeting.cid FROM targeting WHERE targeting.sid = bans.id) = '1'
Ошибка
Subquery returns more than 1 row
Куда-то должен ANY или ALL написать. кто поможет(
2.
Петр (14.09.2012 / 07:33)
... AND (SELECT 1 FROM targeting WHERE targeting.sid=bans.id AND targeting.cid=1 LIMIT 1) ?
3.
Женек (14.09.2012 / 11:48)
Im-ieee (14 Сентября 2012 / 07:33)
... AND (SELECT 1 FROM targeting WHERE targeting.sid=bans.id AND targeting.cid=1 LIMIT 1) ?
SELECT 1 ? что есть 1?
4.
Петр (14.09.2012 / 13:42)
Если условия не выполнятся, то запрос вернет NULL, иначе - 1 (true).
5.
HQ-Maker (14.09.2012 / 17:23)
Im-ieee Мне не надо чтоб лимит 1 был. mysql_error выдаеть Subquery returns more than 1 row.
Тоисть результатов больше одного, и он не можеть вывести
6.
Михаил (14.09.2012 / 17:34)
Перепиши запрос с использованием соединения двух таблиц bans и targeting, через join
7.
Петр (15.09.2012 / 11:26)
5.
HQ-Maker, тебе нужно, чтобы все значения совпадали? Тогда так: .. 1=ALL(SELECT targeting.cid ...
8.
HQ-Maker (15.09.2012 / 16:09)
Я уже решил. Всем спасибо
URL:
https://visavi.net/topics/34431