MySQL запрос, error 1242

Печать RSS
189

H
Автор
Пришелец
0
Здрастуйте, кто поможеть делать правильный запрос.

Запрос:
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 написать. кто поможет(
П

Пацак
0
... AND (SELECT 1 FROM targeting WHERE targeting.sid=bans.id AND targeting.cid=1 LIMIT 1) ?
Изменил: Петр (14.09.2012 / 07:33)

Дедушка
0
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?
П

Пацак
0
Если условия не выполнятся, то запрос вернет NULL, иначе - 1 (true).
H
Автор
Пришелец
0
Im-ieee Мне не надо чтоб лимит 1 был. mysql_error выдаеть Subquery returns more than 1 row.
Тоисть результатов больше одного, и он не можеть вывести
М

Малиновые штаны
0
Перепиши запрос с использованием соединения двух таблиц bans и targeting, через join
Изменил: Михаил (14.09.2012 / 17:34)
П

Пацак
0
5. HQ-Maker, тебе нужно, чтобы все значения совпадали? Тогда так: .. 1=ALL(SELECT targeting.cid ...
Изменил: Петр (15.09.2012 / 11:27)
H
Автор
Пришелец
0
Я уже решил. Всем спасибо
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск