Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
09.11.2011, 23:01
|
|||
|---|---|---|---|
Простенький запрос: join только с одной строкой из многих |
|||
|
#18+
Всем привет. Помогите пожалуйста написать простенький запрос, а то что-то я туплю. Есть три таблицы T1=(PK1, PK2, A1, A2) T2=(FK1, FK2, A1, A2) T3=(FK1, FK2, A1, A2) Их нужно сджойнить по PK1 = FK1 and PK2 = FK2 Проблема в том, что в T3 ключ (FK1, FK2) не уникальный и мне нужно джойнить исключительно со строчкой с максимальным значением атрибута T3.A1. То есть нужно что-то типа Код: plaintext 1. 2. 3. 4. 5. 6. Подскажите пожалуйста куда копать. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.11.2011, 02:02
|
|||
|---|---|---|---|
Простенький запрос: join только с одной строкой из многих |
|||
|
#18+
yuriyking, Интересный подход :) Код: plaintext 1. 2. 3. 4. 5. Если T3.A2 тоже надо вытащить (если есть несколько строк с максимальным T3.A1, то вытащатся все они, если нужно из них выбрать только одну, то что-то очень криво в задаче): Код: plaintext 1. 2. 3. 4. 5. Как оптимизатор в этом случае себя поведёт, надо смотреть, могут быть сюрпризы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.11.2011, 11:56
|
|||
|---|---|---|---|
|
|||
Простенький запрос: join только с одной строкой из многих |
|||
|
#18+
yuriyking, Здравствуйте. Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.11.2011, 13:38
|
|||
|---|---|---|---|
Простенький запрос: join только с одной строкой из многих |
|||
|
#18+
Mark Barinstein, Спасибо, похоже, именно волшебное слово table мне и было нужно. CawaSPb, CawaSPbЕсли T3.A2 тоже надо вытащить (если есть несколько строк с максимальным T3.A1, то вытащатся все они, если нужно из них выбрать только одну, то что-то очень криво в задаче): По условиям задачи согласно прикладной модели данных строка с максимумом всегда одна. Это просто платежи с датой и возрастающим номером. Мне всегда нужен только последний. А то что запрос будет нелёгким - понятно. Но он должен максимум один раз в день выполняться. Надеюсь, проскочим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.11.2011, 13:48
|
|||
|---|---|---|---|
Простенький запрос: join только с одной строкой из многих |
|||
|
#18+
Марк, А как такие вещи с точки зрения производительности выглядят? Честно говоря первый раз сталкиваюсь с таким применением сортировки и "fetch first ...". Этакая каша из декларативной и императивной логики, у оптимизатора крыша не уедет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=43&mobile=1&tid=1602035]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
64ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 280ms |
| total: | 426ms |

| 0 / 0 |
