Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Удалить поставщика, выполнившего меньше всего поставок.

XKOTYA Профи (554), на голосовании 11 месяцев назад
Нужна ваша помощь, нужно удалить челика из таблицы S который сделал меньше всего поставок в таблице SPJ (SELECT "Номер поставщика", COUNT(*) from spj group by "Номер поставщика")

Сама таблица pastebin.com/nYXi1gmH

на postgresql
Голосование за лучший ответ
Nickie Просветленный (28397) 1 год назад
Для этого можно использовать такой запрос:
 WITH SupplierShipments AS ( 
SELECT "Номер поставщика", COUNT(*) AS ShipmentsCount
FROM SPJ
GROUP BY "Номер поставщика"
)
DELETE FROM S
USING SupplierShipments
WHERE S."Номер поставщика" = SupplierShipments."Номер поставщика"
AND ShipmentsCount = (SELECT MIN(ShipmentsCount) FROM SupplierShipments);
Этот запрос использует общую таблицу выражений (WITH), чтобы создать временную таблицу SupplierShipments, содержащую количество поставок для каждого поставщика. Затем он удаляет поставщика из таблицы S, который сделал меньше всего поставок (используя минимальное значение из временной таблицы).
Ivan Sviridov Оракул (64060) 1 год назад
да напиши хоть на перле скрипт, который прочитает эту таблицу и вычислит самого неактивного, а потом его удалит. я бы так сделал.
Похожие вопросы