|
первод в ansi sql
|
|||
---|---|---|---|
#18+
Есть запрос Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Каким образом его можно переделать в ANSI SQL с Join? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2021, 19:41 |
|
первод в ansi sql
|
|||
---|---|---|---|
#18+
капец. всегда недолюблювал этот птичий синтаксис как в вашем скрипте зачем тут вообще джойны? exists в руки ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2021, 20:19 |
|
первод в ansi sql
|
|||
---|---|---|---|
#18+
Поскольку задача не формализована, есть подозрение, что в native запрос должен выглядеть так: Код: plsql 1. 2. 3.
Тогда в ANSI: Код: plsql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2021, 21:05 |
|
первод в ansi sql
|
|||
---|---|---|---|
#18+
Также можно рекомендовать MINUS и FULL JOIN. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2021, 21:09 |
|
первод в ansi sql
|
|||
---|---|---|---|
#18+
Почему right? Вроде же left outer join могу ошибаться ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2021, 21:57 |
|
первод в ansi sql
|
|||
---|---|---|---|
#18+
Еще раз - я переставил плюсик, поскольку мне показалось, что с формулировкой задачи ошибка. Я понял ее так: найти строки t2, которых нет в t1. Соответственно, не left, а right. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2021, 09:00 |
|
первод в ansi sql
|
|||
---|---|---|---|
#18+
dmdmdm Я понял ее так: найти строки t2, которых нет в t1. Ты неправильно понял. Условие t1.rid = t2.rid(+) даст все строки t1 повторенные GREATEST(1,N) где N это число раз t1.rid встречается в t2. А вот условие t2.n(+) = null довольно "хитрое". Сравнение с NULL всегда дает UNKNOWN посему запрос есть хитронавороченый Код: plsql 1. 2. 3. 4.
SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2021, 14:48 |
|
первод в ansi sql
|
|||
---|---|---|---|
#18+
dmdmdm Я понял ее так: найти строки t2, которых нет в t1. И даже если поменять на t2.n(+) is null мы не получим строки t2, которых нет в t1. Мы получим все строки t1 повторенные GREATEST(1,N) раз где N это число раз t1.rid встречается в t2 и t2.n is null. SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2021, 15:16 |
|
первод в ansi sql
|
|||
---|---|---|---|
#18+
SY, в чем отличие от Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
авторА вот условие t2.n(+) = null довольно "хитрое" "100%" внешнее соеденение (как будто т2 пустая) ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2021, 15:19 |
|
первод в ansi sql
|
|||
---|---|---|---|
#18+
Stax SY, в чем отличие от Код: plsql 1.
Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2021, 15:22 |
|
первод в ansi sql
|
|||
---|---|---|---|
#18+
wsnet Есть запрос Код: plsql 1. 2. 3.
Каким образом его можно переделать в ANSI SQL с Join? Код: plaintext
То есть из таблицы T2 в результат никогда не попадут никакие данные (строки). Код: plsql 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2021, 15:35 |
|
первод в ansi sql
|
|||
---|---|---|---|
#18+
Валерий Юринский То есть из таблицы T2 в результат никогда не попадут никакие данные (строки). как будто т2 пустая ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2021, 16:48 |
|
первод в ansi sql
|
|||
---|---|---|---|
#18+
Stax Валерий Юринский То есть из таблицы T2 в результат никогда не попадут никакие данные (строки). как будто т2 пустая Именно так! ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2021, 18:01 |
|
|
start [/forum/topic.php?fid=52&msg=40111152&tid=1879761]: |
0ms |
get settings: |
23ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
45ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
371ms |
get tp. blocked users: |
1ms |
others: | 383ms |
total: | 861ms |
0 / 0 |