|
Удаление одинаковых строк в запросе со значениями в разных ячейках
|
|||
---|---|---|---|
#18+
Добрый день. Такой вопрос Задача: Есть большая база с рейсами и прочим, надо найти расстояние между аэропортами reis | Аэропорт_отправления | Аэропорт_прибытия значения строк, соответственно PG0001 UIK SGC PG0002 SGC UIK PG0003 IWA AER PG0004 AER IWA PG0005 DME PKV PG0006 PKV DME PG0007 VKO JOK PG0008 VKO JOK PG0009 JOK VKO эта пара (и другие там в таблице) по сути одно и то же для решения задачи. Рейс туда и обратно. PG0001 UIK SGC PG0002 SGC UIK Собственно вопрос - как можно убрать такие "задвоения"? То есть как-то сравнить разные строки при этом сравнивание чтобы шло по разным ячейкам. Чтобы осталась одна строка PG0001 UIK SGC ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2021, 17:34 |
|
Удаление одинаковых строк в запросе со значениями в разных ячейках
|
|||
---|---|---|---|
#18+
Kanban77, Код: plsql 1.
как вариант -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2021, 18:18 |
|
Удаление одинаковых строк в запросе со значениями в разных ячейках
|
|||
---|---|---|---|
#18+
Maxim Boguk, если group be reis то пишет ошибку, что столбец должен быть в select а если без него Код: plsql 1. 2.
то выводит 309 строк (без склейки дубликатов выходит 618 строк) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2021, 18:37 |
|
Удаление одинаковых строк в запросе со значениями в разных ячейках
|
|||
---|---|---|---|
#18+
Kanban77, не понял чего вы хотите то... или что вам не нравится задвоения убрали чего еще ? -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2021, 18:44 |
|
Удаление одинаковых строк в запросе со значениями в разных ячейках
|
|||
---|---|---|---|
#18+
Maxim Boguk, я, как начинающий, хочу понять ) удаление задвоений прошло верно, но в том запросе, который Вы прислали стоит Код: plsql 1.
и такая сортировка (и получается любая сортировка по нескольким значениям) выдает ошибку, которую я в скрине привел. а если убрать reis из order by, то запрос отрабатывает и выдает нужное и верное количество записей. Для моей задачи - этого достаточно, но хочется еще понять и осознать смысл написанного ) Вы же не просто так написали order by reis? В любом случае большое спасибо - "задвоение ушло". И тогда, если не затруднит, дополнительный вопрос: куратор задания, когда я его спросил как можно сделать такое сравнение, он написал такой ответ "<>" - но я за два дня не смог понять, больше меньше чего с чем. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2021, 19:01 |
|
Удаление одинаковых строк в запросе со значениями в разных ячейках
|
|||
---|---|---|---|
#18+
Kanban77 куратор задания, когда я его спросил как можно сделать такое сравнение, он написал такой ответ "<>" - но я за два дня не смог понять, больше меньше чего с чем. Код: sql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2021, 07:37 |
|
Удаление одинаковых строк в запросе со значениями в разных ячейках
|
|||
---|---|---|---|
#18+
court, работает, спасибо! но теперь появился еще более важный вопрос - а как оно так работает? )) PG0001 UIK SGC PG0002 SGC UIK where departure_airport < arrival_airport он же сравнивает в рамках одной строки? Как "он" понимает, что уже есть UIK-SGC который то же самое что SGC-UIK (в нашем случае) но это же другая строка уже. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2021, 09:34 |
|
Удаление одинаковых строк в запросе со значениями в разных ячейках
|
|||
---|---|---|---|
#18+
court Kanban77 куратор задания, когда я его спросил как можно сделать такое сравнение, он написал такой ответ "<>" - но я за два дня не смог понять, больше меньше чего с чем. Код: sql 1. 2. 3.
Это работает ТОЛЬКО ЕСЛИ в данных ВСЕГДА есть рейсы А->B и B->A одновременно. В постановке задачи - про это ни слова (и кстати бывает что так и есть в реальности когда в одну сторону рейс а назад с остановкой где то). Иначе вы теряете те строки где departure_airport > arrival_airport и нет рейса обратного. -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2021, 10:52 |
|
Удаление одинаковых строк в запросе со значениями в разных ячейках
|
|||
---|---|---|---|
#18+
Kanban77 а как оно так работает? )) Maxim Boguk ВСЕГДА есть рейсы А->B и B->A одновременно. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2021, 11:07 |
|
Удаление одинаковых строк в запросе со значениями в разных ячейках
|
|||
---|---|---|---|
#18+
Maxim Boguk, court, значит с таким условием, если у меня есть где-то "кольцевой маршрут" А-Б-В-А то маршруты АБ, БВ и ВА в этом селекте вообще не покажутся. А способ Максима в этом случае будет работать я так понимаю? И, допустим, у нас все маршруты парные Туда и Обратно, но в этом случае я все равно не могу понять как это условие Код: plsql 1. 2. 3.
отсекает пару? Он их по алфавиту "измеряет" как-то? Но даже если по алфавиту, как "оно понимает" что именно в этой паре надо убрать 1 рейс? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2021, 14:39 |
|
|
start [/forum/topic.php?fid=53&fpage=16&tid=1994235]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
27ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
others: | 279ms |
total: | 406ms |
0 / 0 |