Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Столбец с водсчетом кол-ва для каждой записи, MS SQL Server 2008 R2 
V
    Опции темы
TechnoMag
Дата 3.4.2013, 23:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 20.3.2010

Репутация: нет
Всего: нет



Есть запрос, который формирует таблицу:
Код

    SELECT [IdExam]
          ,[num]
          ,[name]
          ,[Normal_cost]
          ,[limit]
          ,[IdDoctor]
      FROM [dbMedical].[dbo].[Examination]
      WHERE [IdDoctor]=3705


Код

IdExam;num;name;Normal_cost;limit;IdDoctor
19;25;Позвоночник;345;1;3705
22;25;МРТ гипофиза;312;3;3705
23;25;МРТ орбит;50;15;3705
25;25;МРТ туловища;420;12;3705
27;25;Новая запись;740;NULL;3705


Запрос, который отображает кол-во преведенных исследований в период отпределынным врачем
Код

    SELECT exam.[IdExam]
          ,exam.[num]
          ,exam.[name]
          ,exam.[Normal_cost]
          ,exam.[limit]
          ,exam.[IdDoctor]
          , COUNT(exam.[IdDoctor])
     
      FROM [dbMedical].[dbo].[Examination] exam, [dbMedical].[dbo].[PatientReg] patients
      WHERE (patients.[Sdate] BETWEEN '2013-03-03' AND '2013-04-01') AND (exam.[IdDoctor]=3705) AND (patients.IdExam=exam.IdExam)
        GROUP BY exam.[IdExam], exam.[num]
          ,exam.[name]
          ,exam.[Normal_cost]
          ,exam.[limit]
          ,exam.[IdDoctor]


Код

IdExam;num;name;Normal_cost;limit;IdDoctor;(Отсутствует имя столбца)
19;25;Позвоночник;345;1;3705;2
22;25;МРТ гипофиза;312;3;3705;1
23;25;МРТ орбит;50;15;3705;1


Нужен запрос которы отборажал бы все данные:

Код

    IdExam  num name              Normal_cost   limit   IdDoctor    (Отсутствует имя столбца)
    19             25    Позвоночник      345                  1       3705                    2
    22             25    МРТ гипофиза     312                  3       3705                    1
    23             25    МРТ орбит           50                  15       3705                    1
    25          25  МРТ туловища      420   12  3705
    27          25  Новая запись       740  NULL    3705


Пока что получилось только это:
Код

SELECT [name]
      ,[Normal_cost]
      ,[limit]
      ,exam.[IdDoctor]
      ,exam.[IdExam]
      ,patients.[IdExam]
      ,COUNT (exam.IdExam)
  FROM [dbMedical].[dbo].[Examination] exam LEFT OUTER JOIN [dbMedical].[dbo].[PatientReg] patients
  ON (exam.[IdDoctor]=patients.[IdDoctor])
  WHERE /*(patients.[Sdate] BETWEEN '2013-03-03' AND '2013-04-01') AND*/ (exam.[IdDoctor]=3705)
  GROUP BY exam.[name], exam.[Normal_cost], exam.[limit], exam.[IdDoctor], patients.[IdExam], exam.[IdExam],
    patients.[IdDoctor]


Код

name;Normal_cost;limit;IdDoctor;IdExam;IdExam;(Отсутствует имя столбца)
Позвоночник;345;1;3705;19;19;2
МРТ гипофиза;312;3;3705;22;19;2
МРТ орбит;50;15;3705;23;19;2
МРТ туловища;420;12;3705;25;19;2
Новая запись;740;NULL;3705;27;19;2
Позвоночник;345;1;3705;19;22;1
МРТ гипофиза;312;3;3705;22;22;1
МРТ орбит;50;15;3705;23;22;1
МРТ туловища;420;12;3705;25;22;1
Новая запись;740;NULL;3705;27;22;1
Позвоночник;345;1;3705;19;23;1
МРТ гипофиза;312;3;3705;22;23;1
МРТ орбит;50;15;3705;23;23;1
МРТ туловища;420;12;3705;25;23;1
Новая запись;740;NULL;3705;27;23;1

PM MAIL ICQ   Вверх
password
Дата 4.4.2013, 00:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 23.9.2008
Где: Украина, Сумы

Репутация: 3
Всего: 8



Что за DB такая? (имя полей в квадратных скобках)
Если я правильно понял назначение полей и что связывать таблицы по IdExam, то будет что то-типа этого ?
Код

SELECT a.IdExam
          ,a.num
          ,a.name
          ,a.Normal_cost
          ,a.limit
          ,a.IdDoctor
          ,b.kols
      FROM [dbMedical].[dbo].[Examination] a
left join (select IdExam, count(*) as kols from [dbMedical].[dbo].[PatientReg] 
              where Sdate BETWEEN '2013-03-03' AND '2013-04-01'
              group by  IdExam) b on a.IdExam=b.IdExam
WHERE a.IdDoctor=3705

PM MAIL Skype   Вверх
TechnoMag
Дата 10.4.2013, 18:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 20.3.2010

Репутация: нет
Всего: нет



Спасобо. То что нужно.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Составление SQL-запросов | Следующая тема »


 




[ Время генерации скрипта: 0.0398 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.