Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Простенький запрос: 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. Подскажите пожалуйста куда копать. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2011, 23:01 |
|
||
|
Простенький запрос: join только с одной строкой из многих
|
|||
|---|---|---|---|
|
#18+
yuriyking, Интересный подход :) Код: plaintext 1. 2. 3. 4. 5. Если T3.A2 тоже надо вытащить (если есть несколько строк с максимальным T3.A1, то вытащатся все они, если нужно из них выбрать только одну, то что-то очень криво в задаче): Код: plaintext 1. 2. 3. 4. 5. Как оптимизатор в этом случае себя поведёт, надо смотреть, могут быть сюрпризы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2011, 02:02 |
|
||
|
Простенький запрос: join только с одной строкой из многих
|
|||
|---|---|---|---|
|
#18+
yuriyking, Здравствуйте. Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2011, 11:56 |
|
||
|
Простенький запрос: join только с одной строкой из многих
|
|||
|---|---|---|---|
|
#18+
Mark Barinstein, Спасибо, похоже, именно волшебное слово table мне и было нужно. CawaSPb, CawaSPbЕсли T3.A2 тоже надо вытащить (если есть несколько строк с максимальным T3.A1, то вытащатся все они, если нужно из них выбрать только одну, то что-то очень криво в задаче): По условиям задачи согласно прикладной модели данных строка с максимумом всегда одна. Это просто платежи с датой и возрастающим номером. Мне всегда нужен только последний. А то что запрос будет нелёгким - понятно. Но он должен максимум один раз в день выполняться. Надеюсь, проскочим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2011, 13:38 |
|
||
|
Простенький запрос: join только с одной строкой из многих
|
|||
|---|---|---|---|
|
#18+
Марк, А как такие вещи с точки зрения производительности выглядят? Честно говоря первый раз сталкиваюсь с таким применением сортировки и "fetch first ...". Этакая каша из декларативной и императивной логики, у оптимизатора крыша не уедет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2011, 13:48 |
|
||
|
|

start [/forum/topic.php?fid=43&fpage=49&tid=1602035]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
59ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
| others: | 11ms |
| total: | 168ms |

| 0 / 0 |
