powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Группировка по кол-ву записей из двух таблиц
25 сообщений из 25, страница 1 из 1
Группировка по кол-ву записей из двух таблиц
    #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
Группировка по кол-ву записей из двух таблиц
    #39767389
Gerasimenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yMHukyM,
А зачем тебе здесь таблица FLG ??? По твоему запросу она не нужна.
...
Рейтинг: 0 / 0
Группировка по кол-ву записей из двух таблиц
    #39767391
энди
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
потому что у тебя считается общее количество людей на участке, а не DISTINCT количество :)
...
Рейтинг: 0 / 0
Группировка по кол-ву записей из двух таблиц
    #39767397
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yMHukyM,

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

а этот вопрос точно относится к делфи?
да у меня проект Delphi + Access, забыл указать :)
...
Рейтинг: 0 / 0
Группировка по кол-ву записей из двух таблиц
    #39767421
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так вы уж определитесь, вам нужно общее количество человек или уникальное ?
...
Рейтинг: 0 / 0
Группировка по кол-ву записей из двух таблиц
    #39767422
yMHukyM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DimaBrТак вы уж определитесь, вам нужно общее количество человек или уникальное ?
да людей мне надо, вроде все в первом посте описал)
...
Рейтинг: 0 / 0
Группировка по кол-ву записей из двух таблиц
    #39767429
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если один и тот же человек за обед съел две порции. Сколько ЛЮДЕЙ пообедало ?
...
Рейтинг: 0 / 0
Группировка по кол-ву записей из двух таблиц
    #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
Группировка по кол-ву записей из двух таблиц
    #39767450
yMHukyM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DimaBrЕсли один и тот же человек за обед съел две порции. Сколько ЛЮДЕЙ пообедало ?
1 человек ПООБЕДАЛ )
вот мне и надо, если одному пациенту сделали в месяц 2 исследования.
мне надо чтобы отображался 1 пациент, а не сколько ему сделали исследований
...
Рейтинг: 0 / 0
Группировка по кол-ву записей из двух таблиц
    #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
Группировка по кол-ву записей из двух таблиц
    #39767457
Фотография Gator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yMHukyM,

Зато запрос выдаёт порции, а не людей. Ты картинку запроса пришли.
...
Рейтинг: 0 / 0
Группировка по кол-ву записей из двух таблиц
    #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
Группировка по кол-ву записей из двух таблиц
    #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
Группировка по кол-ву записей из двух таблиц
    #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
Группировка по кол-ву записей из двух таблиц
    #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
Группировка по кол-ву записей из двух таблиц
    #39767488
Gerasimenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GerasimenkoGerasimenkoпропущено...

Это с каких версий такое творить можно? (брат интересуется )
Нифига себе: в MSSQL2012 прокатил
Проверил на 2000 : то же работает... Век живи-век учись...
...
Рейтинг: 0 / 0
Группировка по кол-ву записей из двух таблиц
    #39767511
MirnyiAtom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нашел даже в спецификации sql-92
...
Рейтинг: 0 / 0
Группировка по кол-ву записей из двух таблиц
    #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
Группировка по кол-ву записей из двух таблиц
    #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
Группировка по кол-ву записей из двух таблиц
    #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
Группировка по кол-ву записей из двух таблиц
    #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
Группировка по кол-ву записей из двух таблиц
    #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
25 сообщений из 25, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Группировка по кол-ву записей из двух таблиц
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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