|
Запрос получить данные из первой таблицы если значение равно 0
|
|||
---|---|---|---|
#18+
Добрый день, подскажите как сделать есть таблица A (id, value), есть таблица B(id, value) Нужно получить набор строк из A и B и если id встречается и в A и в B выбрать значение из A. Сделал типа: select * from A union all select * from B where not exists (select A.id from A where A.id = B.id) Есть ли более красивое решение? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2020, 16:10 |
|
Запрос получить данные из первой таблицы если значение равно 0
|
|||
---|---|---|---|
#18+
wsnet .... Есть ли более красивое решение? А чем это не красивое? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2020, 16:16 |
|
Запрос получить данные из первой таблицы если значение равно 0
|
|||
---|---|---|---|
#18+
wsnet, для недревних версий Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2020, 16:43 |
|
Запрос получить данные из первой таблицы если значение равно 0
|
|||
---|---|---|---|
#18+
Stax, Уж лучше union all + not exists ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2020, 16:47 |
|
Запрос получить данные из первой таблицы если значение равно 0
|
|||
---|---|---|---|
#18+
env Stax, Уж лучше union all + not exists мож и лучше но на вкус и цвет ... ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2020, 16:54 |
|
Запрос получить данные из первой таблицы если значение равно 0
|
|||
---|---|---|---|
#18+
Stax wsnet, для недревних версий Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2020, 17:20 |
|
Запрос получить данные из первой таблицы если значение равно 0
|
|||
---|---|---|---|
#18+
andreymx непрозрачно не люблю прозрачный цвет ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2020, 17:25 |
|
Запрос получить данные из первой таблицы если значение равно 0
|
|||
---|---|---|---|
#18+
env Stax, Уж лучше union all + not exists А это как? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2020, 18:21 |
|
Запрос получить данные из первой таблицы если значение равно 0
|
|||
---|---|---|---|
#18+
НеофитSQL env Stax, Уж лучше union all + not exists А это как? я не понял вопрос ps я вполне допускаю что union all + not exists оптимальнее, и главное понятнне (прозрачнее ) ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2020, 18:28 |
|
Запрос получить данные из первой таблицы если значение равно 0
|
|||
---|---|---|---|
#18+
Еще можно напрячь теорию множеств: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2020, 18:33 |
|
Запрос получить данные из первой таблицы если значение равно 0
|
|||
---|---|---|---|
#18+
Ааа, "not exists" чтобы множество вычесть не прибегая к оператору minus. Теперь понял. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2020, 18:35 |
|
Запрос получить данные из первой таблицы если значение равно 0
|
|||
---|---|---|---|
#18+
Мне реально понравилось решение с full outer join. А если таблиц больше двух, вместо nvl можно поставить coalesce, и все будет работать. Код: plsql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2020, 18:44 |
|
Запрос получить данные из первой таблицы если значение равно 0
|
|||
---|---|---|---|
#18+
НеофитSQL Мне реально понравилось решение с full outer join. Особенно при условии, что уникальность ни в A ни в B условиями задачи не гарантируется. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2020, 09:10 |
|
Запрос получить данные из первой таблицы если значение равно 0
|
|||
---|---|---|---|
#18+
Stax wsnet, для недревних версий Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
..... stax Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2020, 09:49 |
|
|
start [/forum/topic.php?fid=52&msg=40025679&tid=1880629]: |
0ms |
get settings: |
13ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
38ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 284ms |
total: | 420ms |
0 / 0 |