Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Составление SQL-запросов > Подзапрос с GROUP BY но выбрать одно поле...


Автор: Валерия 12.10.2008, 12:45
Есть две таблицы, table1 и table2
В каждом поле id, причём в table1 оно уникальное, а в table2 - нет, и встречается несколько раз.
Нужно из table1 удалить те айдишники, которые встречаются более 5ти раз в table2
Вообще я себе представляла это так:
Код

DELETE FROM `table1` WHERE `id` IN (SELECT `id` FROM `table2` WHERE COUNT(*)>5 GROUP BY `id`)

Но нельзя делать выборку WHERE COUNT(*)>5 :(

Автор: yar 12.10.2008, 14:30
Код
DELETE FROM table1
WHERE id IN (
    SELECT id
    FROM table2 
    GROUP BY id
    HAVING count(id) > 5
)




Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)