Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
DISTINCT по нескольким полям...
|
|||
|---|---|---|---|
|
#18+
Всем привет! Глупый вопрос Есть выборка типа t1.ID, t2.Name1, t2.Name2, t3.Value Так вот t1 и t3 джойнится left join и есть условие по t3 Соответственно нужно выбрать DISTINCT (t1.ID), но сохраняя при этом t2.Name1, t2.Name2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2018, 11:23 |
|
||
|
DISTINCT по нескольким полям...
|
|||
|---|---|---|---|
|
#18+
asd10, Ниче не понял. А теперь нормально и с примером, что есть, а что надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2018, 11:29 |
|
||
|
DISTINCT по нескольким полям...
|
|||
|---|---|---|---|
|
#18+
asd10, пронумеровать ROW_NUMBER() OVER (PARTITION BY t1.Id) и взять первые ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2018, 11:33 |
|
||
|
DISTINCT по нескольким полям...
|
|||
|---|---|---|---|
|
#18+
Суть: Table1 t1 - основная таблица с записями Table2 t2 - справочник из которого нужно взять определенное имя Table3 t3 - таблица атрибутов (может быть несколько атрибутов структура: ObjectID, AttributeID, Value ) Нужно выбрать все записи t1, с именем из t2 для которых не существует атрибута AttributeID=1 в t3, либо значение атрибута c AttributeID=1 не равно 'а' и не равно 'b' Пока есть: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2018, 11:48 |
|
||
|
DISTINCT по нескольким полям...
|
|||
|---|---|---|---|
|
#18+
asd10, 1.Тебе не нужно тянуть значения Table3 (вычеркиваем "left join Table3 t3") - достаточно проверить наличие определенных записей. 2.Условие "для которых не существует атрибута AttributeID=1 в t3, либо значение атрибута c AttributeID=1 не равно 'а' и не равно 'b'" упрощается до вида "для которых не существует атрибута AttributeID=1 в t3 со значениями равными 'а' или 'b'": Код: sql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2018, 12:03 |
|
||
|
DISTINCT по нескольким полям...
|
|||
|---|---|---|---|
|
#18+
Kopelly, спасибо! Тормознул с условием и правда )) Но всё-равно остались не уникальные по t1.ID записи. Там ещё один джоин добавился у меня. Сделал просто GroupBY t1.ID, t2.Name1, t2.Name2 по всем нужным для вывода полям. Надеюсь это правильно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2018, 14:49 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39599040&tid=1690323]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
| others: | 261ms |
| total: | 401ms |

| 0 / 0 |
