Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
В раздумье о DISTINCT
|
|||
|---|---|---|---|
|
#18+
DISTINCT позволяет указать уникальность набора выводимых полей в запросе, а вот мне бы хотелось уникальность по одному полю, т.е. в запросе должны присутствовать еще и другие поля. Описанную ситуацию разрулил через подзапрос с TOP 1, но это так ужасно тормозит на 60 тыс записей. Запрос оставлял на ночь, но ему этого времени не хватило :(( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2003, 12:07 |
|
||
|
В раздумье о DISTINCT
|
|||
|---|---|---|---|
|
#18+
Если я правильно понял, то достаточно ввести группировку по этому полю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2003, 12:12 |
|
||
|
В раздумье о DISTINCT
|
|||
|---|---|---|---|
|
#18+
В запросе должны выводиться другие поля, и тогда их тоже придется группировать, что не подходит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2003, 12:29 |
|
||
|
В раздумье о DISTINCT
|
|||
|---|---|---|---|
|
#18+
Тогда спрашивай подоходчивей. Лучше всего приведи структуру таблиц (упрощенно, типа table1(id, field1), table2(id, field1, field2)), как они связанны, и что ты хочещь получить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2003, 12:45 |
|
||
|
В раздумье о DISTINCT
|
|||
|---|---|---|---|
|
#18+
Вот эта ситуация: Была модель абстрактных сущностей BO (Business Object) с отношением многие-ко-многим [BO] ---- [BO_ID] [BO_Name] связь организована через вспомогательную таблицу BORel (BO Relation) [BORel] ------- [BORel_BOID] [BORel_ParentID] [BORel_Property] Сейчас модель поменялась, отличие в связи, теперь отношение один-ко-многим [BO] ---- [BO_ID] [BO_Name] [BO_ParentID] Задача: закачать данные в новую модель. Необходимо выбрать из таблицы BORel записи так, чтобы для BORel_BOID выбралось по одному BORel_ParentID, также нужны и остальные поля (BO_Name, BORel_Property). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2003, 12:50 |
|
||
|
В раздумье о DISTINCT
|
|||
|---|---|---|---|
|
#18+
А Вы уверенны что для каждлго BORel_BOID существует единственный BORel_ParentID? из струтуры видно, что их может быть много. Какой выбирать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2003, 13:10 |
|
||
|
В раздумье о DISTINCT
|
|||
|---|---|---|---|
|
#18+
Я не стал дописывать, что остальные отношения просто выбрасываются (для них нет места в новой модели :) ), а выбрать можно первое попавшееся (хотя есть у меня предикат для этого дела, но сейчас не важно). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2003, 13:15 |
|
||
|
В раздумье о DISTINCT
|
|||
|---|---|---|---|
|
#18+
Тогда открывай курсор и пускай его по отсортированному по BO_ID + BORel_ParentID набору данных. А внутри цикла сравнивай текущие значения BO_ID и BORel_ParentID с предыдущими. Если BO_ID не изменилась, то не добавляй эту запись. Примерно так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2003, 14:16 |
|
||
|
В раздумье о DISTINCT
|
|||
|---|---|---|---|
|
#18+
Я уверен, что существует красивое решение. Но пока ничего в голову не приходит. kreek, спроси на форуме по MSSQL, там такие монстры обитают... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2003, 14:22 |
|
||
|
В раздумье о DISTINCT
|
|||
|---|---|---|---|
|
#18+
Сделай группировку, а агрегатные функции используй max или min ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2003, 14:39 |
|
||
|
В раздумье о DISTINCT
|
|||
|---|---|---|---|
|
#18+
Парни, я сделал запрос, который нужен мне, но ему не хватило ночи, т.к. записей ОЧЕНЬ много, запрос такой: SELECT [BORel_BOID] FROM [BORel] GROUP BY [BORel_BOID]; Полученную агрегацию сохраняю как таблицу Agr (чтобы быстрее было) SELECT [a].[BORel_BOID] AS [BO_ID], (SELECT TOP 1 b.[BORel_ParentID] FROM [BORel] AS b WHERE [a].[BORel_BOID] = b.[BORel_BOID]) AS [BO_ParentID] FROM [Agr] AS [a] Т.е. я ищу альтернативный вариант ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2003, 15:01 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32100861&tid=1682392]: |
0ms |
get settings: |
8ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
32ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
69ms |
get tp. blocked users: |
1ms |
| others: | 213ms |
| total: | 363ms |

| 0 / 0 |
