Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Группировка по кол-ву записей из двух таблиц / 25 сообщений из 25, страница 1 из 1
31.01.2019, 08:49
    #39767387
yMHukyM
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка по кол-ву записей из двух таблиц
Добрый день!
Подскажите пожалуйста.
Есть 2 таблицы:

1 таблица FLG
id
Kod_spr_card_flg
DateXRay_Data

2 таблица SPR_CARD_FLG
id
fam
im
otch
uchast

Нужно посчитать сколько по каждому участку прошло пациентов ФЛГ
Например:
Участок 12 - 80
Участок 21 - 56
и т.д.

Я делаю такой запрос:
Код: sql
1.
2.
3.
SELECT spr_card_flg.uchast, Count(spr_card_flg.id) AS [Count-id]
FROM spr_card_flg INNER JOIN flg ON spr_card_flg.id = flg.Kod_spr_card_flg
GROUP BY spr_card_flg.uchast;



Он группирует но, вместо людей у меня выводится кол-во ФЛГ
Т.е. должно быть 3 пациента, а у меня выходит 16 ФЛГ (1 пац - 12 флг, 2 пац - 2 флг, 3 пац - 2 флг)

Как сделать чтобы считало не ФЛГ, а людей?

Заранее спасибо.
...
Рейтинг: 0 / 0
31.01.2019, 09:08
    #39767389
Gerasimenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка по кол-ву записей из двух таблиц
yMHukyM,
А зачем тебе здесь таблица FLG ??? По твоему запросу она не нужна.
...
Рейтинг: 0 / 0
31.01.2019, 09:14
    #39767391
энди
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка по кол-ву записей из двух таблиц
потому что у тебя считается общее количество людей на участке, а не DISTINCT количество :)
...
Рейтинг: 0 / 0
31.01.2019, 09:23
    #39767397
andreymx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка по кол-ву записей из двух таблиц
yMHukyM,

а этот вопрос точно относится к делфи?
...
Рейтинг: 0 / 0
31.01.2019, 09:52
    #39767412
yMHukyM
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка по кол-ву записей из двух таблиц
GerasimenkoyMHukyM,
А зачем тебе здесь таблица FLG ??? По твоему запросу она не нужна.
она мне понадобится когда я буду выбирать записи за период
...
Рейтинг: 0 / 0
31.01.2019, 09:54
    #39767414
yMHukyM
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка по кол-ву записей из двух таблиц
эндипотому что у тебя считается общее количество людей на участке, а не DISTINCT количество :)
у меня есть участок на котором только 3 человека, а общее колво флг у них 7
при таком запросе он мне все равно выводит 7, т.е. кол-во флг, а не людей
...
Рейтинг: 0 / 0
31.01.2019, 10:01
    #39767416
yMHukyM
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка по кол-ву записей из двух таблиц
andreymxyMHukyM,

а этот вопрос точно относится к делфи?
да у меня проект Delphi + Access, забыл указать :)
...
Рейтинг: 0 / 0
31.01.2019, 10:15
    #39767421
DimaBr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка по кол-ву записей из двух таблиц
Так вы уж определитесь, вам нужно общее количество человек или уникальное ?
...
Рейтинг: 0 / 0
31.01.2019, 10:17
    #39767422
yMHukyM
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка по кол-ву записей из двух таблиц
DimaBrТак вы уж определитесь, вам нужно общее количество человек или уникальное ?
да людей мне надо, вроде все в первом посте описал)
...
Рейтинг: 0 / 0
31.01.2019, 10:35
    #39767429
DimaBr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка по кол-ву записей из двух таблиц
Если один и тот же человек за обед съел две порции. Сколько ЛЮДЕЙ пообедало ?
...
Рейтинг: 0 / 0
31.01.2019, 10:36
    #39767430
goldmi45
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка по кол-ву записей из двух таблиц
yMHukyM,

То, что вы просите, то он и возвращает. Вы запрашиваете количество spr_card_flg.id. А это, судя по JOIN flg.Kod_spr_card_flg. Где здесь пациенты, можно только предположить, что это в таблице SPR_CARD_FLG поля fam, im, otch. Если пациент (fam, im, otch) никак не связан с id, то зачем считать id?
Как вы определяете, что 3 пациента? Если по строковым полям fam, im, otch, то это годится только для курсовой работы.
...
Рейтинг: 0 / 0
31.01.2019, 11:11
    #39767450
yMHukyM
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка по кол-ву записей из двух таблиц
DimaBrЕсли один и тот же человек за обед съел две порции. Сколько ЛЮДЕЙ пообедало ?
1 человек ПООБЕДАЛ )
вот мне и надо, если одному пациенту сделали в месяц 2 исследования.
мне надо чтобы отображался 1 пациент, а не сколько ему сделали исследований
...
Рейтинг: 0 / 0
31.01.2019, 11:22
    #39767456
DimaBr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка по кол-ву записей из двух таблиц
Код: sql
1.
2.
3.
SELECT A.uchast, Count(A.fam) AS [Count-id]
FROM (select distinct fam,im,otch,uchast from spr_card_flg) A
GROUP BY A.uchast;
...
Рейтинг: 0 / 0
31.01.2019, 11:22
    #39767457
Gator
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка по кол-ву записей из двух таблиц
yMHukyM,

Зато запрос выдаёт порции, а не людей. Ты картинку запроса пришли.
...
Рейтинг: 0 / 0
31.01.2019, 11:26
    #39767462
yMHukyM
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка по кол-ву записей из двух таблиц
поясню еще раз для чего две таблицы, они связаны.
одна хранит данные о пациенте и участке, вторая данные о его флюроографии

мне нужно выбрать сколько людей прошли флг больше определенной даты прохождения.

т.е. я указываю дату 24.09.2018 и мне нужно увидеть кол-во людей (пациентов) на участке, у кого данные о ФЛГ больше этой даты
делаю в конструкторе Access http://joxi.ru/J2bVvOOf0gR4Q2

Код: sql
1.
2.
3.
4.
SELECT spr_card_flg.uchast, Count(spr_card_flg.id) AS [Count-id], Max(flg.DateXRay_Data) AS [Max-DateXRay_Data]
FROM spr_card_flg INNER JOIN flg ON spr_card_flg.id = flg.Kod_spr_card_flg
GROUP BY spr_card_flg.uchast
HAVING (((Max(flg.DateXRay_Data))>#9/24/2018#));



вот так у меня выводит, но считает кол-во исследований (ФЛГ), а надо людей :)
...
Рейтинг: 0 / 0
31.01.2019, 11:41
    #39767477
энди
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка по кол-ву записей из двух таблиц
Код: plsql
1.
2.
3.
SELECT spr_card_flg.uchast, Count(DISTINCT spr_card_flg.id) AS [Count-id]
FROM spr_card_flg INNER JOIN flg ON spr_card_flg.id = flg.Kod_spr_card_flg
GROUP BY spr_card_flg.uchast;



Может так получится? :)
...
Рейтинг: 0 / 0
31.01.2019, 11:45
    #39767480
Gerasimenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка по кол-ву записей из двух таблиц
энди
Код: plsql
1.
2.
3.
SELECT spr_card_flg.uchast, Count(DISTINCT spr_card_flg.id) AS [Count-id]
FROM spr_card_flg INNER JOIN flg ON spr_card_flg.id = flg.Kod_spr_card_flg
GROUP BY spr_card_flg.uchast;



Может так получится? :)
Это с каких версий такое творить можно? (брат интересуется )
...
Рейтинг: 0 / 0
31.01.2019, 11:50
    #39767482
Gerasimenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка по кол-ву записей из двух таблиц
Gerasimenkoэнди
Код: plsql
1.
2.
3.
SELECT spr_card_flg.uchast, Count(DISTINCT spr_card_flg.id) AS [Count-id]
FROM spr_card_flg INNER JOIN flg ON spr_card_flg.id = flg.Kod_spr_card_flg
GROUP BY spr_card_flg.uchast;



Может так получится? :)
Это с каких версий такое творить можно? (брат интересуется )
Нифига себе: в MSSQL2012 прокатил
...
Рейтинг: 0 / 0
31.01.2019, 11:55
    #39767488
Gerasimenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка по кол-ву записей из двух таблиц
GerasimenkoGerasimenkoпропущено...

Это с каких версий такое творить можно? (брат интересуется )
Нифига себе: в MSSQL2012 прокатил
Проверил на 2000 : то же работает... Век живи-век учись...
...
Рейтинг: 0 / 0
31.01.2019, 12:22
    #39767511
MirnyiAtom
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка по кол-ву записей из двух таблиц
Нашел даже в спецификации sql-92
...
Рейтинг: 0 / 0
31.01.2019, 12:29
    #39767518
yMHukyM
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка по кол-ву записей из двух таблиц
энди
Код: plsql
1.
2.
3.
SELECT spr_card_flg.uchast, Count(DISTINCT spr_card_flg.id) AS [Count-id]
FROM spr_card_flg INNER JOIN flg ON spr_card_flg.id = flg.Kod_spr_card_flg
GROUP BY spr_card_flg.uchast;



Может так получится? :)

fast report такая конструкция не нравится
...
Рейтинг: 0 / 0
31.01.2019, 13:16
    #39767570
goldmi45
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка по кол-ву записей из двух таблиц
yMHukyM,
Код: sql
1.
2.
3.
4.
select s.uchast, count(s.id)
from spr_card_flg s join
  (select distinct f.kod_spr_card_flg from flg f) f on f.kod_spr_card_flg = s.id
group by s.uchast
...
Рейтинг: 0 / 0
31.01.2019, 14:42
    #39767630
yMHukyM
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка по кол-ву записей из двух таблиц
goldmi45yMHukyM,
Код: sql
1.
2.
3.
4.
select s.uchast, count(s.id)
from spr_card_flg s join
  (select distinct f.kod_spr_card_flg from flg f) f on f.kod_spr_card_flg = s.id
group by s.uchast


спасибо работает, а подскажите чтоб выбрать людей последнее исследование, которое больше указанной даты, мне переменную DateXRay_Data в запрос или подзапрос писать?
...
Рейтинг: 0 / 0
31.01.2019, 14:48
    #39767636
goldmi45
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка по кол-ву записей из двух таблиц
yMHukyM,
Код: sql
1.
2.
3.
4.
select s.uchast, count(s.id)
from spr_card_flg s join
  (select distinct f.kod_spr_card_flg from flg f where f.datexray_data > '15.01.2019') f on f.kod_spr_card_flg = s.id
group by s.uchast
...
Рейтинг: 0 / 0
31.01.2019, 15:52
    #39767685
yMHukyM
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка по кол-ву записей из двух таблиц
goldmi45,

спасибо большое тебе, вот доделал как мне надо

Код: sql
1.
2.
3.
select s.uchast, count(s.id)
from spr_card_flg s inner join (select distinct f.kod_spr_card_flg from flg f where ( :data_n < f.datexray_data)  and (f.datexray_data < :data_k ) ) f on f.kod_spr_card_flg = s.id
group by s.uchast
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Группировка по кол-ву записей из двух таблиц / 25 сообщений из 25, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]