SQL задача (Oracle)

- СУБД Oracle (Оракл - для поиска:)). 1 - - СУБД Oracle (Оракл - для поиска:)). 2 - - СУБД Oracle (Оракл - для поиска:)). 3 - - СУБД Oracle (Оракл - для поиска:)). 4 - - СУБД Oracle (Оракл - для поиска:)). 5 - - СУБД Oracle (Оракл - для поиска:)). 6 -
Тут попалась мне задачька. Внешне, вроде, стандартная, а решить сразу не получилось только с помощью SQL. Сделав в PL/SQL, мне пришло в голову решение в SQL. Но выглядит громоздко. Вот хотелось бы услышать другие мнения решения этой задачки. Может я какие-то возможности Oracle-SQL упускаю? Свое решение пока показывать не буду, чтоб не направлять, но после - приведу. ЗАДАЧА: Есть таблица : INV(name, gatget) Надо найти имена, у кого набор 'gatget'-ов включает все gatget-ы заданного имени. Т.Е. если INV имеет : name | gadget --------+------------- oleg | computer oleg | keyboard oleg | mouse seva | computer seva | phone anton | computer anton | keyboard anton | mouse anton | TV alex | TV alex | mouse alex | phone alex | computer то на запрос 'oleg' SQL вернет 'anton. Так что, какие будут идеи? DECLARE @TestName [varchar](50) SET @TestName = 'oleg' SELECT Name FROM Inv I1 WHERE Name <> @TestName GROUP BY Name HAVING NOT EXISTS(SELECT gadget FROM Inv WHERE Name = @TestName EXCEPT SELECT gadget FROM Inv WHERE Name = I1.Name) Pavel_M2 Очень еффектно! Впечатляюще! Я не слишком комфортно мыслю операторами GROUP BY и HAVING, а EXCEPT вообще меня удивил. Однако в Oracle вместо ESCEPT применяется MINUS. Мне стоило попотеть чтоб просто осмыслить такое query. Мысль сравнивать именно входной набор (oleg's gatgets) с текущим именем, а не наоборот, очень удачная. Если 'oleg' имеет что-то, чего нет у текущего проверяемого, то требование не выполняется, а наоборот не достаточно. А воплотить ее без GROUP и HAVING никак. (MINUS еще можно обойти с помощью WHERE .. NOT..) Мое решение было таким: select name_cnt from ( SELECT name name_cnt, count(distinct GATGET) cnt from INV where NAME in (SELECT distinct name from INV where name <> 'oleg') and gatget in (SELECT distinct gatget from INV where name = 'oleg' ) group by name ) where cnt >= (SELECT count(distinct gatget) from INV where name='oleg') Спасибо за ответ. А где бы найти другие задачки по SQL? Может кто знает? Добрый день, Вот здесь, я думаю хватит задач, чтоб занять вас на неделю: <url>http://www.sql-ex.ru</url> С уважением, Павел1Доброго времени. Помогите, пожалуйста, с моей задачей. Есть набор селектов. Первый возвращает набор значений. Все остальные выборки должны быть ограничены по этому набору. В MS SQL делаю так. 1. определяю табличную переменную. 2. в неё из первого селекта вставляю необходимые значения. 3. все остальные изменяю – добавляю в них INNER JOIN с табличной переменной по условию на значения. Теперь встала задача - тоже самое повторить в оракле. Можно использовать подселекты. Тогда первый запрос добавить во все остальные, но в этом случае он будет выполняться несколько раз. А это время. Все это делается во время выполнения программы. Т.е. нельзя использовать никакие постоянные объекты в базе (как таблица для хранения значений из первого запроса и прочее). Подскажите, что можно использовать из PL\SQL? Есть ли аналогичные T-SQL переменные?

разшаривание инет по NAT
Подскажите мне, бестолковому как в Linux реализовать аналог мастдайной функции "общий доступ к интернет" Пробую iptables, перечитал кучу доки... но не работает. Толи синаксис не тот даю, толь сетки путаю, но уже как-только не извращался. Юзать визард какой-нить не хочу - должен понять, как оно работает. Исходные данные: Debian testing etc0 инет, фиксированный айпи (не впн. все просто) etc1 локал, через который хочу ходить с вин-машины. Обе сетки с Debian машины спокойно про...
Драйвер Xpress200 IGP
Есть bareborn Asus Pundt P1PH1, с бортовой видюхой Xpress200. Есть дрова на диске, старые. На сайте Asus дрова только под Linux. Скачаные дрова с офсайта ATI работают только 640х480 60Hz. Причиной для переустановки дров стала такая проблема: периодически экран покрываеться диагональными полосами или начинает мигать. Лечиться перезагрузкой или сменой видеорежима. Так что полагаю проблема в драйверах. ATi / AMD. Обновление и поиск драйверов
...
Очень надо найти человека с билайновским номером
Ребята, помогите найти данные человека с телефоном билайна. У нас чуть не сгорел дом из-за некачественного монтажа дымохода. Провели экспертизу которая это подтвердила. Человек который напортачил с дымоходом скрывается и не хочет переделывать свою халтуру (хотя он составлял договор с нами который оказался липовым). Очень нужно найти его официальные данные, чтобы дать делу судебный ход. Помогите пожалуйста. Телефон горе-монтажника 8-903-551-03-71 Всем откликнувшимся большой респект и спасибо. kun...
10 последних сообщений темы на главной странице
Как вывести (через SSI), например, на главной странице сайта 10 последний сообщений темы начиная от последнего в обратном порядке, с датами написания. В IBF 1.2.x стандартный модуль ssi не дает вроде такой возможности, а устанавливать хак SSIplus+ только лишь из-за этого не охота...
...

- /Computers/Games/Obshee - - /Computers/Hardware/CDDVD - - Archive - - /Computers/Games/ForumGames - - /Computers/Developing - - /Basic/Flame - - /Theme/IkonBoard/2 - - /Theme/CMS - - /Theme/IkonBoard/3 - - /Computers/Games/SportSimulators - - /Computers/Games/RPG - - /Internet/WebMaster - - /Internet/Hosting - - /Basic/Humour - - /UnderGround/GamesVideo - - /Basic/Books - - /UnderGround/eBooks - - /Internet/GetOut - - /Computers/Hardware/Choice - - /Basic/Sport/FootBall - - /Computers/Hardware/Periferal - - /Computers/Foto - - /Computers/OS/UNIX - - /Computers/OS/MicrosoftWindows - - /UnderGround/UnderGround - - /Computers/Games/ActionArcade - - /Theme/IkonBoard/Invision - - /UnderGround/Warez - - /Basic/Flame/Regional - - /Computers/Hardware/Base - - /Computers/Games/SmallGames - - /Basic/Sport/Prognoz - - /Basic/Sport/Chess - - /Computers/Sysadmin - - /Computers/Hardware/HDD - - /Computers/Hardware/Video - - /Computers/OS/Other - - /Computers/Soft - - /Internet/Graphics - - /Internet/Programming - - /Computers/Games/Strategy - - /Theme/IkonBoard/Other - - /Computers/Hardware/Drivers - - /Basic/Sport/Base - - /Theme/Mobiles - - /Basic/MusicVideo -
- 0 - - 1 - - 2 - - 3 - - 4 -