|
Запрос на связь двух не связуемых таблиц
|
|||
---|---|---|---|
#18+
Доброй ночи всезнающий All Подскажите, пожалуйста, как связать две таблицы, если в одной из таблиц нет связующих записей. Пример: Table1 Код: plaintext 1. 2. 3. 4. 5. 6.
Table2 Код: plaintext 1. 2. 3.
В итоге нужно получить результат такой: Код: plaintext 1. 2. 3. 4. 5. 6.
Спасибо за помощь ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2022, 23:40 |
|
Запрос на связь двух не связуемых таблиц
|
|||
---|---|---|---|
#18+
SQL 2019 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2022, 23:53 |
|
Запрос на связь двух не связуемых таблиц
|
|||
---|---|---|---|
#18+
я сделал запрос: Код: sql 1. 2. 3. 4. 5. 6. 7.
и я получил только Код: plaintext 1. 2. 3. 4. 5.
где запись с Table1.Field1 = 1 я потерял, но она нужна ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2022, 00:24 |
|
Запрос на связь двух не связуемых таблиц
|
|||
---|---|---|---|
#18+
Вы бы вменяемо описали алгоритм связывания, что ли... а то хрен знает, по какой задумке нужен именно такой результат. Ну и следите, чтобы данные были согласованы, а то имена полей в показанном запросе в принципе не совпадают с таковыми в примере исходных данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2022, 00:38 |
|
Запрос на связь двух не связуемых таблиц
|
|||
---|---|---|---|
#18+
Двоичник если в одной из таблиц нет связующих записей то вам поможет cross join. Связи обусловлены архитектурой данных и бизнеслогикой. Если "нет связующих записей" то нет и мороженого. Ваш пример выглядит как будто записи просто рандомно объединены ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2022, 05:59 |
|
Запрос на связь двух не связуемых таблиц
|
|||
---|---|---|---|
#18+
PizzaPizza, Я опечатался, извините. Конечно же так В итоге нужно получить результат такой: Код: plaintext 1. 2. 3. 4. 5.
Иными словами, Т1 к Т2 должны связываться по ключевому полю. В тех случаях, когда в Т2 значения в ключевом поле нет, то нужно брать максимальное из Т2 по ключевому полю и размножать запись от Т2 по записям Т1. Выяснилось, что Table1.field_key = 1 оказывается не нужен. Запрос выше я написал, но мне не нравится вложенный подзапрос. Это убьёт производительность ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2022, 09:58 |
|
Запрос на связь двух не связуемых таблиц
|
|||
---|---|---|---|
#18+
Двоичник, добавьте таблицу связей. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2022, 12:57 |
|
Запрос на связь двух не связуемых таблиц
|
|||
---|---|---|---|
#18+
Двоичник, я лично не понял в первой таблице 1/2/3/4/5/6 во второй 2/3/4, как то выкидывается 1 из первой но остается 5 и 6 хотя во второй для всех 1/5/6 нет никакой связи и правило "брать максимальное из Т2" тоже не соблюдено для 1 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2022, 18:30 |
|
Запрос на связь двух не связуемых таблиц
|
|||
---|---|---|---|
#18+
Двоичник, "Table1.field_key = 1 оказывается не нужен" - его надо выкидывать в запросе или он самоудалится? Любопытен Ваш запрос (подзапрос), который "убъет производительность". Ведь по Table2.Field1 наверняка есть индекс. вариант Код: sql 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2022, 23:27 |
|
|
Start [/forum/topic.php?fid=46&fpage=2&tid=1683822]: |
0ms |
get settings: |
15ms |
get forum list: |
5ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
55ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
152ms |
get tp. blocked users: |
2ms |
others: | 290ms |
total: | 528ms |
0 / 0 |