|
|
|
Объединение двух таблиц
|
|||
|---|---|---|---|
|
#18+
Пусть есть две таблицы с одинаковой структурой: Код: plaintext 1. 2. 3. 4. Надо получить выборку вида: Код: plaintext 1. 2. 3. То есть, "объединить" таблицы по полю num и суммировать поле qty. Я придумал два разных решения. Хотелось бы понять, какое из них лучше (быстрее) работает Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. Насколько я понимаю план запроса, в первом варианте по разу просматриваются исходные таблицы и два раза промежуточная (уже объединённая), а во втором - шесть просмотров. Получается, что скорость зависит от того, насколько много в двух таблицах повторяющихся значений поля num. Если, к примеру, нет ни одного одинакового, то быстрее второй вариант, а если половина повторяется - то первый. Я прав? Или обе таблицы окажутся в кэше сервера и оба варианта одинаковы (примерно). ПС: MS SQL 2000 Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2002, 14:43:08 |
|
||
|
Объединение двух таблиц
|
|||
|---|---|---|---|
|
#18+
Может из нужно не объединять а СОЕДИНЯТЬ по общему полю ? Писать запрос и создавать эти две таблиц мне лень, но по-моему Вашу проблему можно решить одним единственным SQL-запросом SELECT с использование LEFT OUTER JOIN двух указанных таблиц и функции ISNULL (чтобы заменять NULL-слагаемое на 0 при суммировании) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2002, 14:53:24 |
|
||
|
Объединение двух таблиц
|
|||
|---|---|---|---|
|
#18+
Пардон, извиняюсь. Я невнимательно посмотрел содержимое табличек T1 и T2 и результирующей таблички. Тут действительно без FULL OUTER JOIN не обойтись. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2002, 14:57:22 |
|
||
|
Объединение двух таблиц
|
|||
|---|---|---|---|
|
#18+
а чем не подходит Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2002, 15:40:50 |
|
||
|
Объединение двух таблиц
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2002, 15:51:55 |
|
||
|
Объединение двух таблиц
|
|||
|---|---|---|---|
|
#18+
Ух ты! Спасибо, очень даже подходит. Сам не догадался так сделать :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2002, 15:53:25 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32070801&tid=1818604]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
4ms |
track hit: |
53ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 217ms |
| total: | 350ms |

| 0 / 0 |
