![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите с запросом [D6, MSSQL]
Yurij-7 © (2007-11-16 14:17:00)Уважаемые мастера, помогите с запросом
есть табличка с полями филиал, продукт, продано, пользуется, возврат
мне надо инф вывести одним запросом, так :
Филиал продано, пользуется, возврат
А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 продано, пользуется, возврат
а оно затраивает филиалы и пишет разную чужь, это вообще реально прокатать одним запросом?
огромное спасибо
Anatoly Podgoretsky (2007-12-03 18:52:00) [1]Не знал, что Грубер БОЛ написал.
Yurij-7 (2007-12-03 16:54:00) [2]Для
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-11-17 14:01:00) [3]Гадать не надо, надо смотреть правила синтаксиса в BOL - настольная книга программиста в MS SQL
ЮЮ (2007-11-17 12:00:00) [4]
> , но почему так и не понял :((( ?
по синтаксису. Приведенная тобой конструкция годится для Local SQL. В BOL заглянуть не пробовал?
Yurij-7 (2007-11-16 15:00:00) [5]Я понял, спасибо за консультации,
кстати еще в чем столкнулся, что Substring в стандартной конструкции (SUBSTRING("ABCDE" FROM 2 FOR 3)) в MSSQL не работает, но почему так и не понял :((( ?
Sergey13 (2007-11-16 14:59:00) [6]> [0] Yurij-7 (16.11.07 14:17)
А какой смысл считать много count по разным полям? Я бы понял sum, но count!
Ega23 (2007-11-16 14:54:00) [7]
> Есть мнение, что доступ к данным следует осуществлять только
> через обновляемые въюхи.
Есть мнение, что сколько людей - столько и мнений.
Andrey (2007-11-16 14:46:00) [8]Куда выносить апдейт, это уже архитектурный вопрос.
Есть мнение, что доступ к данным следует осуществлять толькочерез обновляемые въюхи.
Есть мнение, что в процедуры следует складывать только критическую бизнес-логику.
Правда как всегда где-то между )
Вобщем на сколько я понимаю, эта программа одна из первых ваших по работе с БД. Изучайте, думайте, пробуйте, ошибайтесь, выбирайте )
Andrey (2007-11-16 14:41:00) [9]Т.к. MSSQL видел в глаза всего пару раз, не могу сказать со всей увереностью... Но стандарты SQL таких фокусов не позволяют.
Если бы предложение WHERE было полностью одинаково, тогда пожалуйста. А так по идее никак.
Yurij-7 (2007-11-16 14:39:00) [10]или апдейт лучше выносить в ХП ??
Yurij-7 (2007-11-16 14:31:00) [11]Огромное спасибо за помощь, обязательно почитаю, решил только увижу книгу Грубера в печатном виде сразу покупаю
а если можно еще вопрос, можно ли както сделать одним запросом сложный апдейт ?
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)
Andrey (2007-11-16 14:23:00) [12]SELECT [филиал], count ([продано]) as col_vud, count ([пользуется])as col_act, count ([возврат])as col_closed FROM [K3_BKK].[dbo].[K3_zalej_All]
group by [филиал]
Читать синтаксис предложения group by.