|
|
|
Посоветуйте книгу начинающим для по продвинутым алгоритмам выборки данных
|
|||
|---|---|---|---|
|
#18+
В Oracle и вообще в SQL я новичок. Возникла проблема в поиске нужной книги. Все просмотренные книги типа Кайта мне не очень подходят. Мне как саппортеру интересно более всего вопросы "изощренной" выборки данных. Например, задача. client_id имеет в таблице много записей возможных вариантов адресов, Домашний, юридический, фактический, почтовый, и тд. Допустим около десятка. Может быть несколько адресов одного вида, например четыре фактических (допустим филиалы), три юридических, один почтовый, один офшорный и т д. Некоторые имеют всего два адреса, один юридический, один фактический. Некоторые например вообще только один. Задача, вывести только тех, кто имеет одновременно фактический, юридический, офшорный (например) может быть несколько адресов одного типа, но хотя бы один адрес каждого из трёх типов. Мне подсказали как это сделать. Select client_id, count(distinct(adresses_type)) where Addresse_type in ( фактический, юридический, офшорный ) Having count(distinct(adresses_type)) >= 3 Group by client Я извиняюсь за шибки в синтаксисе, набросал из головы по памяти. Пример элементарный. Но без подсказки никак не получалось. Это скорее всего well known прием. Но как то из книг его не получалось почерпнуть. А есть вообще такие книги? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2016, 17:44:05 |
|
||
|
Посоветуйте книгу начинающим для по продвинутым алгоритмам выборки данных
|
|||
|---|---|---|---|
|
#18+
Если бы чукча дочитал таки Кайта до конца, то он получил бы ответ на свой вопрос. и может быть не на один. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2016, 18:13:25 |
|
||
|
Посоветуйте книгу начинающим для по продвинутым алгоритмам выборки данных
|
|||
|---|---|---|---|
|
#18+
Vint, Зря вы так, довольно грубо вообще то. Естественно я читаю Кайта. Я новичок в SQL но не в ИТ вообще. Есть по крайне мере одна область в которой я был гуру (знания сейчас устарели достаточно) И вопросы подобные моему видел не рази И даже иногда терпеливо разъяснял, что да как и почему (например почему каких то книг вы не найдёте, потому что их не существует. А той области книги "подходящие" под мой, вопрос были. Мне абсолютно не нужны вещи связанные с механизмом транзакции, планы запросов и тд. вообще Pl SQL. Мне нужно только только то, что начинается с select Не потому что, не любознательны, это в будущем, но в данный момент я крайне ограничен в периоде времени чтобы выйти на режим ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2016, 18:25:50 |
|
||
|
Посоветуйте книгу начинающим для по продвинутым алгоритмам выборки данных
|
|||
|---|---|---|---|
|
#18+
и чьи это Ваши проблемы? во первых в книгах кайта есть главы и некоторые можно пропустить, примерно так же можно научиться пользоваться поиском по этому сайту и решать 99% практических задач правильно формулируя вопрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2016, 18:30:08 |
|
||
|
Посоветуйте книгу начинающим для по продвинутым алгоритмам выборки данных
|
|||
|---|---|---|---|
|
#18+
Vint, Вы судя по всему вы человек уважаемый, знающий (постов много) Но я же сказал, я сам спец в другой области. Исходя из этого опыта, ваши аргументы не убедительны (естественно это сугубо IMHO) Подожду, может кто то, что то дельное посоветует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2016, 18:35:54 |
|
||
|
Посоветуйте книгу начинающим для по продвинутым алгоритмам выборки данных
|
|||
|---|---|---|---|
|
#18+
VAlera100спец в другой областиУмение формулировать вопросы и находить ответы в открытых источниках ценится не только в таган-московской области. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2016, 19:36:03 |
|
||
|
Посоветуйте книгу начинающим для по продвинутым алгоритмам выборки данных
|
|||
|---|---|---|---|
|
#18+
-2-, Да. Друзья это же тоже - другие источники, причём сверхперативные. Когда нет под боком друзей, и источники помогают. Но это когда есть задача. А если в данный момент какой то задачи нет, но есть ограниченное количество времени. Ну, кроме того что раньше знал, типа слегка админил MSSQL. Что то там простенькое выбирал. Проходишь ORACLE fundamental на 40 часов, освоил базовые вещи по по построению запросов. В прогрессе чтения нескольких серьёзных книг. Вот интересно, где именно, на какой странице Кайт объясняет, как именно такой подзапрос делать? Кайт объясняет от и до все, чтобы когда ты все освоишь, проникнешься философией, набьёшь многочисоенные шишки, проведёшь десятки часов над ломанием проблем, дзен в голове тебе сам найдёт как это сделать. Да только знаю я, уверен что без дзена есть набор бест практис по предмету. Они есть в любой области. Да и видел я в инете сайт по объяснению доведению подобных бест практис По oracle запросам искал ответ на конкретную задачу и Гугл выкинул на сайт этот и не записал я адрес. Теперь локти кусаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2016, 19:53:01 |
|
||
|
Посоветуйте книгу начинающим для по продвинутым алгоритмам выборки данных
|
|||
|---|---|---|---|
|
#18+
VAlera100, Вот, например нашёл такое http://www.sql-ex.ru/help/select16.php Это бест практис. Но это всего лишь 18 кейсов и по MSSQL. Типичные вопросы , типичные кейсы. А видел ресурс где разбирается кейсов около 100 и по ораклу. Не могу найти. Может кто то подскажет ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2016, 20:17:06 |
|
||
|
Посоветуйте книгу начинающим для по продвинутым алгоритмам выборки данных
|
|||
|---|---|---|---|
|
#18+
VAlera100, Мельком глянув ошибся это просто по ANSI SQL, SQL:1999 Тоже полезно, разбираю и читаю с интересом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2016, 20:22:12 |
|
||
|
Посоветуйте книгу начинающим для по продвинутым алгоритмам выборки данных
|
|||
|---|---|---|---|
|
#18+
VAlera100Задача, вывести только тех, кто имеет одновременно фактический, юридический, офшорный (например) может быть несколько адресов одного типа, но хотя бы один адрес каждого из трёх типов. Мне подсказали как это сделать. Select client_id, count(distinct(adresses_type)) where Addresse_type in ( фактический, юридический, офшорный ) Having count(distinct(adresses_type)) >= 3 Group by client Достаточно приемлемый вариант. Что касается различных учебников и туториалов - в основном, в них вам дают понять, что в Oracle есть группировка данных, есть оператор distinct, исключающий из выборки дубликаты, есть вложенные подзапросы (можно использовать в вашем случае вместо Having для нахождения типов адресов, имеющих одно- двух- и трехкратное вхождение в таблицу), есть тот же Having. Остальное - продукт комбинирования этих инструментов и вашего алгоритмического мышления. :) Это уже не Oracle, а логика + опыт. Наработайте немного практического опыта, и многие вопросы (почему в том или ином учебнике нет решения конкретных изощренных кейсов) отпадут сами собой. Думаю, вы на верном пути и у вас все получится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2016, 09:43:06 |
|
||
|
Посоветуйте книгу начинающим для по продвинутым алгоритмам выборки данных
|
|||
|---|---|---|---|
|
#18+
М. Грабер "Введение в SQL". Там используется старый стандарт, но для того чтобы как-то въехать в основы SQL - достаточно. Для "более продвинутых" запросов, возможно, существуют какие-то "best practices", но пока не видел. Если кто поделится инфой - буду признателен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2016, 18:54:33 |
|
||
|
Посоветуйте книгу начинающим для по продвинутым алгоритмам выборки данных
|
|||
|---|---|---|---|
|
#18+
VAlera100VAlera100, А видел ресурс где разбирается кейсов около 100 и по ораклу. Не могу найти. Может кто то подскажет ? Не знаю, насколько в тему. plsqlchallenge.com. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2016, 05:21:22 |
|
||
|
|

start [/forum/topic.php?fid=52&fpage=203&tid=1887540]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
104ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 237ms |
| total: | 426ms |

| 0 / 0 |
