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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите с запросом для Access 
V
    Опции темы
pshik
Дата 22.12.2008, 09:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



есть две таблицы:
1) поступление сатериала
Material        MestoPostup      Vsego       Boln
  ааа                     2                   10             7
  ааа                     3                    7              2
  иии                     2                   12            10
2) места поступления
  Id_Mesta       NameMesto      Priznak
        1                  qqqqq               1
        2                  wwww              1
        3                  eeeee               2

нужно написать запрос, в результатет которого получиться таблица

                                                      Из них:
материал    всего     больных     Всего_С_признаком_1    Больных_С_признаком_1    Всего_С_признаком_2    Больных_С_признаком_2
   aaa             17            9                  10                                             7                                          7                                        2
   иии             12           10

надеюсь задача понятна? помогите плиз!
PM MAIL   Вверх
Akina
Дата 22.12.2008, 09:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

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



Цитата(pshik @  22.12.2008,  10:52 Найти цитируемый пост)
надеюсь задача понятна?

Пока нет.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
pshik
Дата 22.12.2008, 10:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Код

select Material , Sum(Vsego), Sum(Boln) from Tab1
group by Material

таким запросом получаю общую сумму  Vsego и Boln по каждому материалу. А мне нужно дополнительно указать, сколько из общего количества материала поступило с признаком 1 и признаком 2.
PM MAIL   Вверх
ТоляМБА
Дата 22.12.2008, 10:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Котэ
***


Профиль
Группа: Завсегдатай
Сообщений: 1607
Регистрация: 15.12.2004

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



pshik, это из области "таблицы-телепаты".
По каким полям связывать эти две таблицы укажите!
PM   Вверх
Akina
Дата 22.12.2008, 10:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

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



Код

select Material, Priznak, Sum(Vsego), Sum(Boln) 
from Tab1
join Mesta
  on Tab1.MestoPostup = Mesta.Id_Mesta
group by Material, Priznak



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
pshik
Дата 22.12.2008, 10:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(ТоляМБА @  22.12.2008,  10:20 Найти цитируемый пост)
По каким полям связывать эти две таблицы укажите!

связывать по MestoPostup и Id_Mesta.

to Akina
так получиться 2 строки с одним материалом, а нужно так:
Material   Vsego    Boln     Vsego_С_признаком_1    Boln_С_признаком_1    Vsego_С_признаком_2    Boln_С_признаком_2
PM MAIL   Вверх
Akina
Дата 22.12.2008, 10:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

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



Цитата(pshik @  22.12.2008,  11:28 Найти цитируемый пост)
так получиться 2 строки с одним материалом, а нужно так:

Тогда строй прекрёстный запрос. Можно при помощи мастера.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Zloxa
Дата 22.12.2008, 10:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

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



Akina, Ты наверно можешь подсказать как траснпонирование в акцессе делается. Мне прпипоминается слово PIVOT, только не понмю из той ли оперы.
Классически задача решается так:

Код

select Material, Priznak, Sum(Vsego), Sum(Boln), sum(case when Priznak = 1 then Boln end) P1 , sum(case when Priznak = 2 then Boln end) P2
from Tab1
join Mesta
  on Tab1.MestoPostup = Mesta.Id_Mesta
group by Material



--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
pshik
Дата 22.12.2008, 10:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



пробовал... не помогло

to Zloxa, Pivot оттуда, ты прав...

Это сообщение отредактировал(а) pshik - 22.12.2008, 10:42
PM MAIL   Вверх
pshik
  Дата 22.12.2008, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



задача решена  smile 
Код

select Materiall, Sum(KolvoIssled), Sum(KolvoBol),Sum(IIf (Prz=1, KolvoIssled, Null)), Sum(IIf (Prz=1, KolvoBol, Null)),
Sum(IIf (Prz=2, KolvoIssled, Null)), Sum(IIf (Prz=2, KolvoBol, Null)) from .......


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


 




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


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

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