|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
17.01.2012, 11:51 | #1 |
Пользователь
Регистрация: 17.01.2012
Сообщений: 10
|
запрос
Здравствуйте, если кто отзовётся на крик о помощи буду очень признателен) сразу говорю работаю в Среде SQL Server Management Studio Express SQL 2005
В общем ситуация такая: нужно создать представление "статистика по областям". должна включать в себя ID_области, название области, Колличество всех ошибок(для каждой области) и Колличество активных ошибок тоже в каждой области) Проблема в том что если создавать на вывод количества ошибок 2 count то при условии что активность = 'True', он выводит только те области где есть активные ошибки. а те где нет активных не выводит. ъ через сум не то не то не могу сделать так как, типы данных uniqueidentifier и bit. В общем скажите как можно добится того чтоб он вывел примерно такую картину lll ID_области lll Название области lll Кол-во всех ошибок lll Колличество активных ошибок lll понимаю что написано очень непонятным языком)) но если кто нить поймёт и поможет буду очень благодарен)) |
17.01.2012, 12:17 | #2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
В понятие "понятный язык" входит описание структуры таблиц, из которых нужно View получить
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
17.01.2012, 19:16 | #3 |
Пользователь
Регистрация: 17.01.2012
Сообщений: 10
|
вот ) что то вроде этого) все ID шники имеют тип uniqueidentifire, а сам атрибут активность тип bit
Последний раз редактировалось ektomorf; 17.01.2012 в 19:45. |
17.01.2012, 20:13 | #4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
17.01.2012, 21:01 | #5 |
Пользователь
Регистрация: 17.01.2012
Сообщений: 10
|
Огромное спасибо за помощь и понимаю что наглею) но никтож не умрёт если задам ещё один вопрос)
возможно ли в там же создать такие процедуры: Proc Изменить ответственного разработчика @ID_ошибки, @ФИО Proc создать ошибку @Номер, ID_создателя_рапорта, ID_ответственного_разработчика, @Коментарий, @Название_состояния, @ID_области |
17.01.2012, 21:25 | #6 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Почему бы и нет. Создаете хранимые процедуры, в которых обновляете или добавляете соответствующую информацию командами UPDATE или INSERT. Информация в представлении на автомате изменится после этого. Кстати в том SELECT-е я не показывапю те записи из таблицы Область_возникновения, для которых ошибок нет. Если их тоже нужно, то запрос изменить, используя эту таблицу в FROM, а две другие в LEFT JOIN. И COUNT не использовать, а тоже почти такой же SUM, но с анализом на NULL
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
17.01.2012, 22:04 | #7 |
Пользователь
Регистрация: 17.01.2012
Сообщений: 10
|
ещё раз большое спасибо)
но вот касательно анализа на null не могли бы поподробней. тоесть мне надо вписать примерно вот такую строчку вместо каунта? sum(case when [Область_возникновения].[ID_области] а вот здесь что вы имели ввиду про анализа на null) |
17.01.2012, 22:13 | #8 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
18.01.2012, 12:58 | #9 |
Пользователь
Регистрация: 17.01.2012
Сообщений: 10
|
Вот ещё вопрос назрел у меня, в чём может быть ошибка не понимаю.
Ошибка при преобразовании типа данных varchar к uniqueidentifier. GO ALTER PROCEDURE [dbo].[Изменить ответственного разработчика] (@ID_ошибки uniqueidentifier, @ФИО varchar(50)) as begin declare @ID_ответственного_разработчика uniqueidentifier select ID_ответственного_разработчика from [Описание_ошибки] inner join [Сотрудник] on [Сотрудник].[ID_сотрудника] = [Описание_ошибки].[ID_ответственного_разработчика] where [ФИО] = @ФИО update [Описание_ошибки] set [ID_ответственного_разработчика] = @ID_ответственного_разработчика end |
18.01.2012, 13:41 | #10 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Достаточно только этого, все остальное после заголовка чепуха
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Запрос на выборку и отчет на этот запрос | Camelot_2012 | Microsoft Office Access | 2 | 21.12.2011 16:48 |
запрос к БД | lebrosha | SQL, базы данных | 1 | 18.06.2010 13:41 |
Запрос с CASE переделать в запрос с PIVOT (MS SQL Server 2005) | Машуля | SQL, базы данных | 4 | 06.05.2010 21:09 |
запрос ссылается на несвязанный с ним запрос | kolebatel | SQL, базы данных | 0 | 11.06.2008 12:50 |