![]() |
|
Модераторы: skyboy |
![]()
|
|
| GUZstav |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 25.4.2009 Репутация: нет Всего: нет |
Доброго времени суток.
Делаю арм для учета пациентов. Хочу сделать запрос на выборку пациентов по заболеванию. Но каждый пациент может иметь несколько диагнозов поставленных в разное время. Таблицы: Есть три таблицы: 2 главные, 1 ассоциативная http://pic.ipicture.ru/uploads/090522/mrUtT44Avy.jpg Запрос: SELECT T_karta.id, T_karta.surname, T_karta.name, T_karta.last_name, T_karta.data_rozh,T_diagnos.data,T_diagnos.diagnos FROM T_karta INNER JOIN T_kar_diag ON T_karta.id = T_kar_diag.id_bol INNER JOIN T_diagnos ON T_kar_diag.id_diag = T_diagnos.id WHERE (T_diagnos.diagnos = ?) ORDER BY T_karta.surname, T_diagnos.data DESC Но этот запрос выбирает все записи, а мне надо, чтобы для одного человека - один диагноз с самой поздней датой. Заранее благодарю. |
|||
|
||||
| DimW |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1330 Регистрация: 24.2.2005 Где: Орёл Репутация: 4 Всего: 44 |
1)
2)
поправил второй запрос Это сообщение отредактировал(а) DimW - 22.5.2009, 09:18 |
||||
|
|||||
| GUZstav |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 25.4.2009 Репутация: нет Всего: нет |
Спасибо, выручил. Еще вопрос: если для d2.data задать диапазон between(чтобы юзер мог посмотреть стат за период времени), его ставить сюда:
select max(d2.data) from T_kar_diag kd2 ,T_diagnos d2 where kd2.id_diag = d2.id and kd2.id_bol = k.id and max(d2.data) between ? and ?) |
|||
|
||||
| DimW |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1330 Регистрация: 24.2.2005 Где: Орёл Репутация: 4 Всего: 44 |
если требуется показать последний диагноз за указанный промежуток времени то так:
|
||||
|
|||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Составление SQL-запросов | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |