Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

SQL

715  1 2 все
Murr патриот02.06.11 10:18
Murr
NEW 02.06.11 10:18 
в ответ Murr 02.06.11 08:31
Пофиксил:
... ) AS T
ORDER BY T.FLAG, T.<поле>
Глюкало...
Правда думаю, что к задачке придется возвращаться - там еще хвосты группировать надо-ть...
#21 
Murr патриот02.06.11 15:53
Murr
NEW 02.06.11 15:53 
в ответ Murr 02.06.11 10:18
Еще в тему...
Меня сейчас обрадовали...
После почти месяца разработки... и попутного ЗАПРЕТА заниматься скриптами для миграции... на завтра надо иметь миграционную процедуру... структура & данные...
Кто бы знал как мне хочется кого-нибудь прибить...
#22 
Aerzenn посетитель02.06.11 18:40
Aerzenn
NEW 02.06.11 18:40 
в ответ Murr 02.06.11 15:53
Задачка к теме. Это действительно так, или я чего то не знаю..
Есть скрипт с саб-запросами. Показался громоздко, переделал под INNER JOIN.
Как я знаю, под-запросы выполняються медленее. Но в этом случае все наоборот.
-- 0.7 сек.
SELECT Id, Name, Workability,
(SELECT Id, Name, Workability,
(SELECT Id, Name, Workability
FROM ProductItem item
WHERE (sub.Id = item.SubCategoriesId))
FROM SubCategories sub

WHERE (sub.CategoriesId = cat.Id))
FROM Categories cat
-----------------------------
-- 4 сек. иссец..
SELECT cat.Id, cat.Name,cat.Workability,
sub.Id, sub.Name, sub.Workability,
item.Id, item.Name, item.Workability

FROM Categories cat
JOIN SubCategories sub on cat.Id = sub.CategoriesId
JOIN ProductItem item on sub.Id = item.SubCategoriesId
Есть какие-нить предположения?
#23 
Murr патриот02.06.11 20:00
Murr
NEW 02.06.11 20:00 
в ответ Aerzenn 02.06.11 18:40
Есть какие-нить предположения?
------
У меня просто ошибки в запросе.
- Сервер?
- Версия?
- Количество данных?
#24 
Aerzenn посетитель02.06.11 20:10
Aerzenn
NEW 02.06.11 20:10 
в ответ Murr 02.06.11 20:00
да, работаю с XML. Полный скрипт:
-------------------------------------------
SELECT Id, Name, Workability,
(SELECT Id, Name, Workability,
(SELECT Id, Name, Workability
FROM ProductItem item
WHERE (sub.Id = item.SubCategoriesId) FOR XML AUTO, TYPE)
FROM SubCategories sub
WHERE (sub.CategoriesId = cat.Id)FOR XML AUTO, TYPE)
FROM Categories cat
FOR XML AUTO, ROOT('block')
-------------------------------------------
MS SQL 2008
10.0.1600.22 ((SQL_PreRelease).080709-1414
4000 rows
#25 
Murr патриот02.06.11 20:49
Murr
NEW 02.06.11 20:49 
в ответ Aerzenn 02.06.11 20:10
Увы, с FOR XML разобраться все руки не доходят...
Что могу сказать - там скорее всего проблема в конвертации в XML... и последующей осечкой лишнего в текстовом варианте...
Первый вариант этого не должен делать - там принудительный мультискан с последовательным дампом...
Попробуй сделать построение отношения в виде подзапроса и уже из него сделать дамп в XML. Может получится...
#26 
1 2 все