|
Выборка из нескольких таблиц
|
|||
---|---|---|---|
#18+
Доброго времени суток! Меня зовут Дархан, начинающий специалист в аналитике. В данный момент прохожу собеседование на позицию аналитика, где требуются базовые знания SQL и высокий уровень Excel. С Excel у меня всё хорошо, но с SQL у меня нет практического опыта. До сегодняшнего дня приходилось работать только с одной таблицей, в целом разбираюсь в командах и могу прочитать скрипт, но с запросом из нескольких таблиц у меня пока проблемы. Я записался на курсы, стартуют на следующей неделе, а задание мне уже выслали и его необходимо сдать сегодня. Поэтому обращаюсь к Вам, Гуру и Экспертам SQL, с просьбой о помощи начинающему спецу попасть на позицию его мечты. Прошу прощения за длинную предысторию, просто чтобы вы понимали почему я осмелился вообще сюда написать :) Теперь перейду к сути задания Всего 5 задач, где нужно вывести соответствующих условиям клиентов из трех связанных таблиц. Я приложу эксель файлик с полными описаниями. Заранее Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2020, 06:57 |
|
Выборка из нескольких таблиц
|
|||
---|---|---|---|
#18+
Дархан Елеусинов Если у Вас нет желания или возможности помочь Помочь можно тому, кто что-то делает сам. Где ВАШИ попытки решить задачу? Выкладывайте - формулировку задачи (а не ссылку куда-то), идею, которую Вы заложили в попытку её решить, составленный по этой идее запрос... пусть и неправильный - подскажем, где ошибка, в чём именно она, как правильно. А тому, кто ничего не сделал, можно помочь только ничего не делать. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2020, 07:25 |
|
Выборка из нескольких таблиц
|
|||
---|---|---|---|
#18+
Akina, Я специально написал о том, что я не в состоянии даже близко решить задачу. У меня нет на ноутбуке SQL. Я не могу тестить, что-либо попробовать. Это все в Вашем понимании, я вроде просил обходить стороной( Очень надеюсь, что найдется кто-то без проблем в личной жизни и комплексов из детства и просто подскажет как сделать эти запросы. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2020, 07:58 |
|
Выборка из нескольких таблиц
|
|||
---|---|---|---|
#18+
Дархан Елеусинов У меня нет на ноутбуке SQL. Я не могу тестить, что-либо попробовать. https://dbfiddle.uk/?rdbms=mysql_8.0 https://www.db-fiddle.com и т.д., и т.п... Вот пример использования (и даже подготовленные данные первой таблицы из задания): fiddle . Кто хочет - ищет способ. Кто не хочет - ищет повод. Делайте... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2020, 08:08 |
|
Выборка из нескольких таблиц
|
|||
---|---|---|---|
#18+
Akina, Спасибо, я пробую ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2020, 08:35 |
|
Выборка из нескольких таблиц
|
|||
---|---|---|---|
#18+
Дархан Елеусинов, писал: "Прошу прощения за длинную предысторию, просто чтобы вы понимали почему я осмелился вообще сюда написать :)" Правильно сделали что обратились. Здесь помогают достаточно хорошо всем, в т.ч. и студентам, в отличии скажем от кибер-форума. Но, раз уж Вы здесь, да с длинной предисторией, да ещё и ТАКОЙ .. готовьтесь выслушивать тех, кто МОЖЕТ вам помочь, тем более, если у вас реально правильное воспитание (по не заметно, но это мелочи). Я вот тоже, имея стаж в ИТ аж с 1979 года, внезапно оказался на уровне "новичок" (прошу не путать!) т.к. устраивался как специалист по "сайтописательству со стажем" (Пых + скуль) а .. пришлось работать как специалисту по Golang, который увидел только 2-го декабря "в глаза".. не переживайте, не Боги горшки обжигают. Теперь по самому заданию. 0. Если Вы знаете Эксель, как пишете, то решить эти задачи НЕ прибегая к скулю - вполне реально на базе его вижуал бейсика. Тут вопросы есть или нет? Если нет, то совет: на скуле оно примерно также и решается .. Если Вы НЕ можете решить эти задачи на Экселе, то: 1. Для начала, переформулируйте вопрос задания .. поудобней чтоли. К примеру, первая задача: Вывести всех клиентов у которых есть не погашенные кредиты .. это как? Какие из клиентов в третьей таблице подходят? Кмк, это те, у которых размер кредита из первой больше чем размер вклада из второй.. то есть вопрос можно изменить без потери: найти все из третьей, для которых разница сумм 1-2 положительна. Согласитесь так уже проще чутка. Как найти эту разницу? Ну вот смотрите на строчки: кастамер №3 Марат .. имеет из первой таблички 2 кредита на 15000 и на 7000, верно? И только один депозит на 50000 .. как вы считаете он погасил свои кредиты или нет? А КАК вы это вывели для себя? Ну, вот примерно также и на скуле с той лишь разницей, что Вам это правило (запрос) надо сформулировать в т.с. "общем виде", без конкретного кастамера .. как-бы сразу для "любого" или всех по очереди.. Пробуйте. Ну и таки да, почитайте что-нибудь для начинающих, памятуя о том, что "запросы к БД на выборку" это такие вот "правила" типа "Найди мне это, отсюда и отсюда, если выполняется это и это ..." там ещё есть, но это уже мелочи. Освойтесь с тем, что Вы НЕ пишете "программу", скуль ее пишет за вас. Вы формулируете правила над некой кучкой данных, и порядок данных может быть любой - он не важен. Совсем. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2020, 08:37 |
|
Выборка из нескольких таблиц
|
|||
---|---|---|---|
#18+
Akina, Вот решение второй задачи. Но оно не правильное, ведь я учитываю только людей из второй таблицы. А мне ведь нужно сказать "Все клиенты из t3 за исключением тех, у кого есть депозит в t2" https://dbfiddle.uk/?rdbms=mysql_8.0&fiddle=e9c40bdcca630e4dffcb4ca991cf8375 Я создал остальные таблицы, но скилла и знаний не хватает решить( ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2020, 09:21 |
|
Выборка из нескольких таблиц
|
|||
---|---|---|---|
#18+
Дархан Елеусинов , я Вас просил публиковать полностью и условие, и решение, и дополнять его ссылкой на fiddle. Вот так: ===== Задание 2Вывести список всех клиентов у которых нет действующего депозита. Код: sql 1. 2. 3.
fiddle ===== А теперь объясните, какую логику Вы заложили в составленный запрос. Почему, по Вашему мнению, результат запроса должен соответствовать заданию? Подробненько так... Продемонстрируйте, что Ваша логика - верная, просто её реализация подкачала. Мы можем помочь преобразовать правильный алгоритм в правильный текст запроса. Но никто не станет за Вас ещё и этот правильный алгоритм строить. PS. Что делает текущий запрос? Он берёт все записи, у которых имеется определённое (не NULL) значение END_DATE, и выводит список уникальных CUSTOMER_ID из этого списка. То есть по сути решает задачу "Вывести тех, у кого есть хотя бы один погашенный кредит". ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2020, 09:53 |
|
Выборка из нескольких таблиц
|
|||
---|---|---|---|
#18+
Akina, Я так и сделал. Я создал все таблицы. Задание так же прописано в ссылке. Написал запрос, который частично верен. Логику, которая должна быть, я написал. "Все клиенты из t3 за исключением тех, у кого есть депозит в t2". Но мой запрос выглядит так: Все клиенты из t2, у кого нет действующего депозита. Но как я понимаю, вы не собираетесь мне помочь. Поэтому подожду кого-нибудь, у кого всё в порядке с самооценкой и он не самоутверждается за счёт своих знаний над людьми, у которых их нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2020, 10:00 |
|
Выборка из нескольких таблиц
|
|||
---|---|---|---|
#18+
Окей, из всех полученных ответов, понятно что никто не хочет помочь безвозмездно. Я старался, я создал таблицы, потестил, но я реально нулевой в SQL, мне не приходилось работать на нём. Поэтому я сюда и обратился сразу. Больше не хочу слушать как какие-то "люди" самоутверждаются надо мной. Я готов оплатить услуги Со 2 по 5 задание. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2020, 10:07 |
|
Выборка из нескольких таблиц
|
|||
---|---|---|---|
#18+
Дархан Елеусинов Окей, из всех полученных ответов, понятно что никто не хочет помочь безвозмездно. Я старался, я создал таблицы, потестил, но я реально нулевой в SQL, мне не приходилось работать на нём. Поэтому я сюда и обратился сразу. Больше не хочу слушать как какие-то "люди" самоутверждаются надо мной. Знаете... вот на, скажем, stackoverflow я без особых проблем отвечаю на не очень сложные вопросы по node.js, codeigniter, laravel, hive, hibernate... я НИКОГДА с ними не работал, но мне достаточно нескольких минут поиска по документации и чтения, плюс элементарная логика, чтобы ответить на простой вопрос (спрашивают в основном индусы да арабы, которые, как показывает практика, и этого не могут) или по крайней мере предложить возможное направление поиска решения. Если ХОЧЕШЬ найти ответ на вопрос - ты его найдёшь. Без вариантов. Если хочешь его просто получить... У Вас не с SQL проблемы. Вы не можете вменяемо сформулировать даже алгоритм решения. Забудьте про SQL. Представьте, что эти три таблицы - записи в трёх бухгалтерских книгах. Бумажных, да... КАК Вы будете решать поставленные задачи, алгоритмически? Я вот этого до сих пор в упор не вижу. Изложить имеющийся алгоритм на языке SQL - это самый последний этап решения задачи. Не выполнив предыдущих, даже не пытайтесь за него хвататься - всё одно не выйдет. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2020, 10:44 |
|
|
start [/forum/topic.php?fid=47&fpage=14&tid=1828276]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
24ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
79ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 159ms |
0 / 0 |