Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.12.30;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.008 c
2-1196332387
Kvendi
2007-11-29 13:33
2007.12.30
В качестве parent- а компонента рабочий стол


1-1191819732
den303_work
2007-10-08 09:02
2007.12.30
Копирование форм


15-1196153253
Evanescence
2007-11-27 11:47
2007.12.30
Сколько стоит лицензионная Windows 2003 Server?


15-1196426344
boriskb
2007-11-30 15:39
2007.12.30
Пятничные задачи от классика


15-1196174279
All More system
2007-11-27 17:37
2007.12.30
Детект руткитов





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский