Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Left Join по нескольким полям
|
|||
|---|---|---|---|
|
#18+
Добрый вечер Есть пара таблиц В каждой есть несколько полей комбинация которых в одной из таблиц уникальна, а в другой будет несколько строк и при этом количество этих "несколько строк" может отличаться. основной смысл запроса получить полный перечень первой таблицы и значения из второй по определенному критерию, с null там где такого критерия нет. как используя джойны соединить таблицы чтобы получить в результирующем запросе "пропущенные" строки второй таблицы вот для объяснения Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. запрос 1 - обычный join выдает строки которые которые есть в двух таблицах, тут все разумно и освоено запрос 2 - а вот left выдает null только если никакого из трех полей нет в Т2 запрос 3 - ну тут все понятно где есть значение выводим (3 строки) запрос 4 - а вот тут получается что результат как в 3м, но хотелось то получить 6 строк и 3 из них с null как получить вот такое Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2021, 20:26 |
|
||
|
Left Join по нескольким полям
|
|||
|---|---|---|---|
|
#18+
1. посмотри в сторону outer apply select #T1.*, B.* from #T1 outer apply (select top 1 * from #T2 where #T1.num = #T2.num AND #T1.ver = #T2.ver AND #T1.pos = #T2.pos) B 2. Непонятно как в результате-примере получется 1 1 2 egx NULL NULL NULL NULL NULL 2 1 2 xe NULL NULL NULL NULL NULL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2021, 20:41 |
|
||
|
Left Join по нескольким полям
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2021, 20:46 |
|
||
|
Left Join по нескольким полям
|
|||
|---|---|---|---|
|
#18+
invm, ОГРОМНОЕ СПАСИБО идеальный результат, как то никогда в голову не приходило, что в объединении можно подставить одно из полей как значение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2021, 11:50 |
|
||
|
Left Join по нескольким полям
|
|||
|---|---|---|---|
|
#18+
Запрос вида Код: sql 1. 2. 3. эквивалентен запросу Код: sql 1. 2. 3. Правильно так: Код: sql 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2021, 16:27 |
|
||
|
Left Join по нескольким полям
|
|||
|---|---|---|---|
|
#18+
Джонни Кейдж Запрос вида Код: sql 1. 2. 3. эквивалентен запросу Код: sql 1. 2. 3. Правильно так: Код: sql 1. 2. то первый запрос тоже допустим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2021, 18:32 |
|
||
|
Left Join по нескольким полям
|
|||
|---|---|---|---|
|
#18+
iap Не совсем так. Есть нюансы: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2021, 13:41 |
|
||
|
Left Join по нескольким полям
|
|||
|---|---|---|---|
|
#18+
Uridian, где в примере "учитываются возможные значения NULL"? В примере они отрицаются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2021, 14:00 |
|
||
|
Left Join по нескольким полям
|
|||
|---|---|---|---|
|
#18+
Владислав Колосов Uridian, где в примере Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2021, 14:10 |
|
||
|
Left Join по нескольким полям
|
|||
|---|---|---|---|
|
#18+
Uridian Владислав Колосов Uridian, где в примере Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. В WHERE ограничения на правую таблицу LEFT JOIN, а результат тем не менее тот же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2021, 15:16 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=40064508&tid=1684787]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
43ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
| others: | 285ms |
| total: | 432ms |

| 0 / 0 |
