170 похожих чатов

Имеется два списка. В обоих есть ID, по которому нужно

объединить данные, НО ID повторяются.
Удалить дубликаты ID нельзя, т.к. по одному и тому же ID в каждой таблице есть свое уникальное значение: заявка/сделка (которые и нужно объединить в одну таблицу).
Объединять по ID и дате также не получится, т.к. даты не всегда совпадают. К более ранней дате заявки нужно прикрепить первую сделку.
Как можно решить задачу?

35 ответов

18 просмотров

Задачник по SQL?

Сджойнить и записать даты под разными именами

Сергей- Автор вопроса
Иван Балакин
Уникальности не хватает :slow:

В этом и проблема. А с циклами и списками/словарями я не силен. Не знаю с какого бока подступиться

one IDs to many orders, решит твою проблему

Сергей- Автор вопроса
Kirill Shikhalev
А какая изначальная задача?

Из двух таблиц собрать по id связку заявка/сделка. Потом уже по ним сделаю merge

Сергей- Автор вопроса

В каждой таблице есть свой уникальный идентификатор. В первой - номер заявки, во второй - номер сделки. Единственное, что их связывает - это id заказчика. Мне нужно получить df: id заказчика - заявка - сделка. id заказчика опять будет повторяться, но это не важно, т.к. мне потом понадобиться уникальные заявки/сделки, к которым будет merge из других таблиц

Сергей
В каждой таблице есть свой уникальный идентификато...

Ок, а как ты узнаешь какой сделке какая заявка соответствует?

Сергей- Автор вопроса
Kirill Shikhalev
Ок, а как ты узнаешь какой сделке какая заявка соо...

К более ранней заявке идет более ранняя сделка и т.д.

Сергей
К более ранней заявке идет более ранняя сделка и т...

Ну вот так делать не стоит, надо было отдельную таблицу завести где сделке в соответствие ставится заявка

Сергей- Автор вопроса
Tishka17
А не бывает заявок без сделок?

Бывает, если заявок от заказчика больше чем сделок

Сергей
Бывает, если заявок от заказчика больше чем сделок

То есть более ранняя может оказаться не той

Сергей- Автор вопроса
Kirill Shikhalev
Ну вот так делать не стоит, надо было отдельную та...

Это данные с разных баз разных заказчиков

Сергей
Это данные с разных баз разных заказчиков

Вы просто взяли какие-то рандомные базы хз каких людей и пытаетесь из них намайнить данные?

Сергей- Автор вопроса
Kirill Shikhalev
Кто задачу формулировал и как?

Это отчет в экселе, который руками собирается: ctrl C - ctrl V Я его уже почти закончил в питоне, осталась последняя эта часть осталась, где невозможно обычными методами соединить заявки/сделки

Сергей
Это отчет в экселе, который руками собирается: ctr...

Вы не думали подойти к вопросу с другой стороны? Вместо гадания над свалкой данных проработать над их структурой?

Сергей- Автор вопроса
Tishka17
Вы не думали подойти к вопросу с другой стороны? В...

Имею то, что имею. Я не админ и напрямую с базами не работаю

Сергей
Это отчет в экселе, который руками собирается: ctr...

То есть 1. есть гора данных с заявками и сделками 2. каждой сделке соответствует заявка, это можно определить по тому когда они созданы, старым сделкам соответствуют старые заявки 3. сделке может ничего не соответствовать 4. нужно отобрать для каждой сделки соответствующую заявку и вынести в отдельную таблицу Не видишь несостыковок?

Условно пронумеруем сделки и заявки цифрой означающей то насколько рано относительно других она создана, первая это 1, после нее 2 и тд Допустим есть сделки 1 2 3, первой сделке соответствует заявка 1, третьей сделке соответствует заявка 2, второй сделке не соответствует ничего Все что у нас есть это только набор сделок и заявок с датами и номером заказчика Как понять что второй сделке ничего не соответствует?

Сергей- Автор вопроса
Kirill Shikhalev
То есть 1. есть гора данных с заявками и сделками...

Не вижу. У меня мозг уже не соображает. Все варианты перебрал. Осталась на вас надежда.

Сергей
Не вижу. У меня мозг уже не соображает. Все вариан...

Попробую я: по твои данным невозможно надёжно восстановить соответствте. Можно только попытаться угадать.

Сергей
Не вижу. У меня мозг уже не соображает. Все вариан...

Попробуй на основе даты и сделки/id сделать свои ключи, тебе хоть как то надо идентифицировать строки

Сергей- Автор вопроса
Kirill Shikhalev
Условно пронумеруем сделки и заявки цифрой означаю...

Типа оконной функции? Сделок не может быть больше чем заявок.

Сергей- Автор вопроса
Kirill Shikhalev
Ну заявок может быть больше, не важно

Если есть две заявки с датами раньше 1 сделки, то принимаем первую заявку

Сергей
Если есть две заявки с датами раньше 1 сделки, то ...

Ну можешь втупую взять таблицу со сделками, ордербайнуть по айди заказчика и дате и сджойнить по rowid с выборкой из таблицы заявок с тем же айди заказчика и лимитом в количество выбранных сделок

Сергей- Автор вопроса

Где почитать? Гугл с первого раза ничего толкового не выдал...

Сергей- Автор вопроса

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта