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

Приветствую, кто-нибудь знает,возможно ли избавится от повторяющихся строк в таблице(выбрать

уникальные) используя только join-ы ? Думаю,нужно хитро join-ить таблицу саму с собой,но не понимаю как.

10 ответов

4 просмотра

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

А откуда у Вас повторяющиеся строки в таблице? Нарушена 1NF, ключей нет?

Rifdar- Автор вопроса
Dmitry Paziy
а чем мешает делать временную таблицу в которую со...

Группировать всмысле Group by? Челлендж состоит в том что бы обойтись одной таблицей и join-ами

Rifdar
Группировать всмысле Group by? Челлендж состоит в...

Так это не практическая задача, получается? Если так, какие (конкретно и подробно) ограничения? ;)

Rifdar- Автор вопроса
Yaroslav Schekin
Так это не практическая задача, получается? Если т...

:) Да собственно задача в том что бы избавится от повторяющихся строк в таблице(выбрать уникальные) не используя DISTINCT,GROUP BY,UNION.(Доп таблицы тоже не использовать)Остаются только join -ы .

Rifdar
:) Да собственно задача в том что бы избавится от ...

ROW_NUMBER() ;) Ну или другие оконные функции (чтобы добиться того же эффекта — превратить одинаковые rows в разные). Если это настоящая таблица — использование системных полей с той же целью.

Rifdar- Автор вопроса

t1 join t2 on t1.id < t2.id and t1.fields = t2.fields

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

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

Вопрос по диагностике ошибок (я знаю в чем, в данном конкретном примере, я знаю, как исправить, пример модельный, понятно, что в реальности бывает намного запутаннее). module...
ⰄⰎⰋⰐⰐⰑⰛⰤⰧⰧⰩⰄ ⰊⰑⰁⰓⰡⰛⰦⰕⰫ
10
А дальше что?.. Записать в файл, потом в Код?.. И потом разбирать как-то?..
Хаскель Моисеевич Гопник
14
А чем вам питонисты не угодили?😂
.
79
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
48
type TObj = object procedure Init; virtual; end; TObj1 = object(TObj) procedure Init; override; end; procedure TObj1.Init; begin inherited; end; procedur...
Alexander 👋
29
@y0zhig @shizzard А можно я опишу цель и может вообще ерланг мне не подходит. На текущий момент как я понимаю у ерланга есть легковесные потоки и задача выполняется в каком т...
Дмитрий Спиридонов
5
Есть предложения, как подобное можно упростить?
Hemul GM
12
У меня вопросик назрел. Почему, создав класс без наследования и реализации деструктора Destroy, деструктор не вызывался при free. Потом указал наследование от tobject и overri...
Сергей Бычков
9
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
86
Такой вопросец - есть функция function MySuperDuperConcat(const a: array of AnsiString): AnsiString; Как мне в её теле сделать вот так? Result:=Concat(a); А не грустный вариан...
notme
15
Карта сайта