|
Select->VieW
|
|||
---|---|---|---|
#18+
Написал я хитрый Select. теперь хочу его загнать во View (но он(View) не поддерживает CASE) Есть ли возможность его преобразовать(подразумевается переделать) к виду который бы подошел для View Пару дней думаю ничего придумать не могу. Я работаю с MS SQL7 Select ID_Tovar as "код",Name_Tovar as "Название", CONVERT(float(10,2),Cost1) as "Ц0$", CONVERT(float(10,2),Cost1_GRN) as "Ц0", CONVERT(float(10,2),Cost2) as "Ц1$", CONVERT(float(10,2),Cost2_GRN) as "Ц1", CONVERT(float(10,2),Cost3) as "Ц2$", CONVERT(float(10,2),Cost3_GRN) as "Ц2", P.K_4 as P_S0,P.K_5 as P_Sk1,P.K_6 as P_Sk2, P.K_7 as P_M6,P.K_8 as P_M7,P.K_9 as P_M3, P.K_10 as P_M2,P.K_11 as P_M4,P.K_12 as P_S1, (P.K_4+P.K_5+P.K_6+P.K_7+P.K_8+P.K_9+P.K_10+P.K_11+P.K_12) as TotalP ,LKOL,PKOL,LKOL_Nakl, PKOL_Nakl,Description From ( SELECT ID_Tovar,Name_Tovar,ID_Artikul,Tip_Size, Cost1,Cost1_GRN,Cost2, Cost2_GRN,Cost3,Cost3_GRN ,Sum(CASE ID_Owner WHEN 4 THEN Kolvo ELSE 0 END) AS K_4, Sum(CASE ID_Owner WHEN 5 THEN Kolvo ELSE 0 END) AS K_5, Sum(CASE ID_Owner WHEN 6 THEN Kolvo ELSE 0 END) AS K_6, Sum(CASE ID_Owner WHEN 7 THEN Kolvo ELSE 0 END) AS K_7, Sum(CASE ID_Owner WHEN 8 THEN Kolvo ELSE 0 END) AS K_8, Sum(CASE ID_Owner WHEN 9 THEN Kolvo ELSE 0 END) AS K_9, Sum(CASE ID_Owner WHEN 10 THEN Kolvo ELSE 0 END) AS K_10, Sum(CASE ID_Owner WHEN 11 THEN Kolvo ELSE 0 END) AS K_11, Sum(CASE ID_Owner WHEN 12 THEN Kolvo ELSE 0 END) AS K_12 , LKOL,PKOL,LKOL_Nakl, PKOL_Nakl,Description FROM View_CurrentPlace GROUP BY ID_Tovar,Name_Tovar,ID_Artikul,Tip_Size, Cost1,Cost1_GRN,Cost2,Cost2_GRN,Cost3,Cost3_GRN,LKOL,PKOL,LKOL_Nakl,PKOL_Nakl,Description) as P order by ID_Tovar Если необходимы структуры используемых таблий могу тоже добавить. Но интерисуют в основном пути решения. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2001, 15:23 |
|
Select->VieW
|
|||
---|---|---|---|
#18+
Да, запрос на грани гениальности. Даже местами эту грань переходит. Но во VIEW он не переходит наверное не из-за CASE. Например, такой вид делается: create view xxxxx as select name, case when type='U' then 'таблица' else 'не таблица' end t from ( select name, type from sysobjects ) as s Так что CASE поддерживаются Напиши как он ругается ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2001, 15:55 |
|
|
start [/forum/topic.php?fid=46&msg=32001644&tid=1827460]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
37ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
others: | 253ms |
total: | 381ms |
0 / 0 |