0 / 0 / 0
Регистрация: 19.03.2018
Сообщений: 21
|
||||||||||||||||
1 | ||||||||||||||||
Запрос на выборку по возрастным группам, как?21.11.2018, 11:40. Показов 3052. Ответов 13
Метки нет (Все метки)
Есть стандартная база данных пациентов. Учитываются всего 2 заболевания. Есть 2 таблицы: table1(пациенты) и table2(заболевания). В table1 в том числе поля - idPatient (пациента), agePatient (возраст пациента) и idDisease (id заболевания из связанной таблицы table2). Все пациенты условно делятся на возрастные группы - 0-9 лет, 10-19 лет и так далее. Пробую создать запрос: к-во пациентов в каждой возрастной группе по каждой болезни, что бы отображалось так:
Но ничего не получается. Просьба помочь, как сделать такое.
0
|
21.11.2018, 11:40 | |
Ответы с готовыми решениями:
13
Как построить запрос что бы получить срез последних цен по группам Как создать запрос на выборку Как сделать запрос на выборку Запрос на неоплативших по группам |
7397 / 4534 / 295
Регистрация: 12.08.2011
Сообщений: 14,021
|
|
21.11.2018, 13:22 | 2 |
а вот это должно быть в третьей таблице, вы пытаетесь связать два разных справочника между собой, это неверный подход.
в третьей также должен быть и id пациента, также может дата обращения, id лечащего врача и т.д. и назвать её можно лечение например.
1
|
26806 / 14485 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
|
||||||
21.11.2018, 14:02 | 3 | |||||
Сообщение было отмечено iepor как решение
Решение
iepor, удобно применить вспомогательную таблицу интервалов, нежели расписывать в коде или иифами. смотрите перекрестный запрос КоличествоВозраст во вложении.
1
|
Модератор
6012 / 2840 / 693
Регистрация: 12.06.2016
Сообщений: 7,616
|
||||||
21.11.2018, 14:10 | 4 | |||||
Не обязательно.
Допустим, table1 - результат выборки из других таблиц и отражает состояние пациентов (возраст и диагноз) на определенную дату. Тогда ответ на вопрос iepor такой:
Но деление на группы странное. Принято так: 0-14 дети, 15-17 подростки (иначе 0-17 несовершеннолетние), 18-19, 20-39, 40-59, >=60.
0
|
7397 / 4534 / 295
Регистрация: 12.08.2011
Сообщений: 14,021
|
|
21.11.2018, 14:42 | 5 |
0
|
0 / 0 / 0
Регистрация: 19.03.2018
Сообщений: 21
|
|
21.11.2018, 14:46 [ТС] | 6 |
Я так и поступил - сделал отдельную таблицу для интервалов. Всем спасибо за помощь!
0
|
Модератор
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
21.11.2018, 14:56 | 7 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
какой-то странный результат
1
|
Модератор
6012 / 2840 / 693
Регистрация: 12.06.2016
Сообщений: 7,616
|
|
21.11.2018, 15:09 | 8 |
shanemac51,
А где пациенты возраста 51-59 и 90?
0
|
Модератор
|
||||||||||||||||||||||||||||||
21.11.2018, 15:17 | 9 | |||||||||||||||||||||||||||||
мой же вариант иной
0
|
0 / 0 / 0
Регистрация: 19.03.2018
Сообщений: 21
|
|
21.11.2018, 15:19 [ТС] | 10 |
Спасибо, но я уже решил эту проблему созданием отдельной таблицы с временными интервалами. В итоге в запросе выдается результат как на рисунке в первом посте. Спасибо всем!
0
|
26806 / 14485 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
|
||||||
21.11.2018, 16:21 | 11 | |||||
Да, Вы правы, лишняя группировка. Надо так
0
|
7397 / 4534 / 295
Регистрация: 12.08.2011
Сообщений: 14,021
|
|
22.11.2018, 03:28 | 12 |
0
|
0 / 0 / 0
Регистрация: 19.03.2018
Сообщений: 21
|
|
22.11.2018, 12:23 [ТС] | 13 |
В моем 6 посте. Мне помогла сама идея - создание дополнительной таблицы, а не чей то конкретный подсказанный SQL запрос. Потом, у меня в первом посте написано
0
|
7397 / 4534 / 295
Регистрация: 12.08.2011
Сообщений: 14,021
|
|
22.11.2018, 13:28 | 14 |
Ну если 20 полей, то конечно не стоит.
0
|
22.11.2018, 13:28 | |
22.11.2018, 13:28 | |
Помогаю со студенческими работами здесь
14
Запрос с суммированием по группам Как создать запрос на выборку SQL ? Как правильно создать запрос на выборку? Как сделать запрос на выборку чисел? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |