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 -