Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.12.30;
Скачать: CL | DM;

Вниз

Помогите с запросом   Найти похожие ветки 

 
Yurij-7   (2007-11-16 14:17) [0]

Уважаемые мастера, помогите с запросом

есть табличка с полями филиал, продукт, продано, пользуется, возврат
мне надо инф вывести одним запросом,  так :

Филиал   продано, пользуется, возврат
А1              5                 3           2
 

SELECT [филиал], count ([продано]) as col_vud, count ([пользуется])as col_act, count ([возврат])as col_closed FROM [K3_BKK].[dbo].[K3_zalej_All]
group продано, пользуется, возврат

а оно затраивает филиалы и пишет разную чужь, это вообще реально прокатать одним запросом?
огромное спасибо


 
Andrey ©   (2007-11-16 14:23) [1]

SELECT [филиал], count ([продано]) as col_vud, count ([пользуется])as col_act, count ([возврат])as col_closed FROM [K3_BKK].[dbo].[K3_zalej_All]
group by [филиал]

Читать синтаксис предложения group by.


 
Yurij-7   (2007-11-16 14:31) [2]

Огромное спасибо за помощь, обязательно почитаю, решил только увижу книгу Грубера в печатном виде сразу покупаю

а если можно еще вопрос, можно ли както сделать одним запросом сложный апдейт ?

UPDATE [K3_BKK].[dbo].[K3_zalej_All]
SET [продано]= "1"
WHERE
ref in ( SELECT [REFCONTRAC] FROM [K3_BKK].[dbo].[K3_15_11] where left (ito_col, 1) <> 2
 group by refcontrac)

UPDATE [K3_BKK].[dbo].[K3_zalej_All]
SET [пользуются]= "1"
WHERE
ref in ( SELECT [REFCONTRAC] FROM [K3_BKK].[dbo].[K3_15_11] where pol <> 0
 group by refcontrac)


 
Yurij-7   (2007-11-16 14:39) [3]

или апдейт лучше выносить в ХП ??


 
Andrey ©   (2007-11-16 14:41) [4]

Т.к. MSSQL видел в глаза всего пару раз, не могу сказать со всей увереностью... Но стандарты SQL таких фокусов не позволяют.

Если бы предложение WHERE было полностью одинаково, тогда пожалуйста. А так по идее никак.


 
Andrey ©   (2007-11-16 14:46) [5]

Куда выносить апдейт, это уже архитектурный вопрос.
Есть мнение, что доступ к данным следует осуществлять только через обновляемые въюхи.
Есть мнение, что в процедуры следует складывать только критическую бизнес-логику.

Правда как всегда где-то между )

Вобщем на сколько я понимаю, эта программа одна из первых ваших по работе с БД. Изучайте, думайте, пробуйте, ошибайтесь, выбирайте )


 
Ega23 ©   (2007-11-16 14:54) [6]


> Есть мнение, что доступ к данным следует осуществлять только
> через обновляемые въюхи.


Есть мнение, что сколько людей - столько и мнений.


 
Sergey13 ©   (2007-11-16 14:59) [7]

> [0] Yurij-7   (16.11.07 14:17)

А какой смысл считать много count по разным полям? Я бы понял sum, но count!


 
Yurij-7   (2007-11-16 15:00) [8]

Я понял, спасибо за консультации,
кстати еще в чем столкнулся, что Substring в стандартной конструкции (SUBSTRING("ABCDE" FROM 2 FOR 3)) в MSSQL не работает, но почему так и не понял :((( ?


 
ЮЮ ©   (2007-11-17 12:00) [9]


> , но почему так и не понял :((( ?

по синтаксису. Приведенная тобой конструкция годится для Local SQL. В BOL заглянуть не пробовал?


 
Anatoly Podgoretsky ©   (2007-11-17 14:01) [10]

Гадать не надо, надо смотреть правила синтаксиса в BOL - настольная книга программиста в MS SQL


 
Yurij-7   (2007-12-03 16:54) [11]

Для
Sergey13 ©   (16.11.07 14:59) [7]
> [0] Yurij-7   (16.11.07 14:17)

А какой смысл считать много count по разным полям? Я бы понял sum, но count!

Да все дело в том что признаки в этих полях проставляются "1", вот я и считаю количество единиц

Для
ЮЮ ©   (17.11.07 12:00) [9]

> , но почему так и не понял :((( ?

по синтаксису. Приведенная тобой конструкция годится для Local SQL. В BOL заглянуть не пробовал?

Ага, спасибо, разобрался

Для
Anatoly Podgoretsky ©   (17.11.07 14:01) [10]
Гадать не надо, надо смотреть правила синтаксиса в BOL - настольная книга программиста в MS SQL

Спасибо, нашел книгу М. Грубера


 
Anatoly Podgoretsky ©   (2007-12-03 18:52) [12]

Не знал, что Грубер БОЛ написал.



Страницы: 1 вся ветка

Текущий архив: 2007.12.30;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.017 c
15-1196353568
manevil
2007-11-29 19:26
2007.12.30
Дифф. уравнение в excel


2-1197013873
Rimd
2007-12-07 10:51
2007.12.30
OnMouseUp


2-1196933889
deras
2007-12-06 12:38
2007.12.30
Какдождаться процесса копирования большого файла?


2-1196767210
Егоров А.Н.
2007-12-04 14:20
2007.12.30
получить локальный IP-адрес компьютера


15-1196492246
Vladimir_K
2007-12-01 09:57
2007.12.30
Заблокированный файл