|
|
|
Запрос
|
|||
|---|---|---|---|
|
#18+
Есть 2 таблицы: склад и реквизиты товара. В таблице склада есть 2 кода: код товара и код типа товара. В таблице реквизитов 2 поля: название реквизита и значение реквизита. Ну и ссылка на код товара на складе. Для заданного значения кода и типа товара необходимо получить выборку состоящую из 2 полей: название реквизита, значение реквизита. Проблема в том, что в столбце названий должны присутствовать все уникальные значения названий хотя бы раз использовавшиеся для данного типа товара. Чтобы было понятно о чем речь привожу скрипт Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Это все работает, но есть большая проблема. В данном примере я привел условную структуру таблиц #t1 и #t2, чтобы была понятна суть вопроса. В реальной базе данных #t1 - это результат объединения 3 таблиц (по INNER JOIN), а #t2 - это объединение других 3 таблиц (также по INNER JOIN). Поэтому использовать подобный запрос становится крайне затруднительно. Результатом выборки в реальной базе данных является набор не более чем из 10 записей. Может быть имеет смысл делать 2 отдельных запроса, а объединение делать уже на клиенте? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2002, 10:47:57 |
|
||
|
Запрос
|
|||
|---|---|---|---|
|
#18+
Попробуй для этого использовать виды. Один вид - условно говоря #t1, второй - #t2. Потом строишь выборку используя не таблицы, а виды. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2002, 10:57:53 |
|
||
|
Запрос
|
|||
|---|---|---|---|
|
#18+
Так что? Больше ни у кого никаких идей? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2002, 13:40:07 |
|
||
|
Запрос
|
|||
|---|---|---|---|
|
#18+
Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2002, 18:53:56 |
|
||
|
Запрос
|
|||
|---|---|---|---|
|
#18+
пардон.... Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2002, 19:03:21 |
|
||
|
Запрос
|
|||
|---|---|---|---|
|
#18+
Не понял... Речь идет о SQLS7. Соответсвенно ключевого слова "schemabinding" - не существует. Предполагается, что во View просто запоминается план составленного запроса? Чем это лучше обычной ХП? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2002, 15:25:40 |
|
||
|
Запрос
|
|||
|---|---|---|---|
|
#18+
не знал я что это 7.... тогда пример не для Вас... индексированные представления хорошая штука..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2002, 15:29:41 |
|
||
|
Запрос
|
|||
|---|---|---|---|
|
#18+
Все-равно не понял... Пусть даже я смог бы каким-нибудь хитрым образом создать индексированный View в 7 (или его аналог). Каким образом это помогло бы в моей проблеме? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2002, 10:35:58 |
|
||
|
Запрос
|
|||
|---|---|---|---|
|
#18+
во блин.... индексированое представление всегда содержит актуальные данные.... не нужены ни таблица с промежуточными данными,ни тригер ее поддерживающий... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2002, 11:07:07 |
|
||
|
Запрос
|
|||
|---|---|---|---|
|
#18+
А не индексированное представление, стало быть, иногда содержит неактульные данные? Что ж, ценное замечание. Только вопрос-то был о другом. Фактически, вопрос стоит так: можно ли получить нужную мне выборку, используя #t1 и #t2 только один раз в качестве источников данных. Т.е. чтобы не было подзапросов с их использованием, поскольку сами эти таблицы - результат относительно сложных запросов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2002, 13:08:00 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32046741&tid=1820749]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
38ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 237ms |
| total: | 348ms |

| 0 / 0 |
