Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2010.02.14;
Скачать: [xml.tar.bz2];

Вниз

Помогите с запросом. Поля и совокупные х-ки в одном запросе ...   Найти похожие ветки 

 
s_t_d   (2009-12-16 17:11) [0]

Уважаемые мастера, пожалуйста подскажите направление поиска.
Есть 2 таблицы:
patients(patid, lastname) - табл. пациентов;
labres(id, patid, date1, val1) - табл. анализов.
Как сформировать запрос к двум таблицам, который формирует фамилии пац. и соответствующие им анализы ясно, например так:
select patients.patid, patients.lastname, labres.val1
from patients
inner join labres on (patients.patid = labres.patid)
where (
     labres.date1 > "01.01.2008"
     and labres.val1 > 0
      ).
А вот как сформировать, запрос, результатом которого будут также
patients.patid, patients.lastname и количество записей во второй таблице, удовлетворяющее тем же критериям не ясно...
Прочитал про GROUP BY, но как воспользоваться в случае двух таблиц? И вообще туда-ли двигаюсь?
СУБД - FB-1.5.
Заранее благодарю.


 
Nucer   (2009-12-16 19:18) [1]

Не уверен (не знаю что такое FB-1.5), но скорее всего так:
SELECT patients.patid, patients.lastname, COUNT(*)
FROM patients LEFT JOIN labres ON patients.patid = labres.patid
WHERE labres.date1 > "01.01.2008" AND labres.val1 > 0
GROUP BY patients.patid


Может быть, что и так:
SELECT P.patid, P.lastname, COUNT(*) AS cnt
FROM patients P LEFT JOIN labres L ON P.patid = L.patid
WHERE L.date1 > "01.01.2008" AND L.val1 > 0
GROUP BY P.patid ORDER BY cnt DESC


 
Сергей М. ©   (2009-12-16 19:42) [2]


> совокупные х-ки


Стесняюсь спросить - а это что ?
Про это можно говорить  при дамах ?


 
s_t_d   (2009-12-17 00:07) [3]

>Nucer
Спасибо за внимание.
1)FB-1.5  - Firebird 1.5
2)Предложенные вами варианты не проходят. Я понял так, что некорректное использование GROUP BY

>Сергей М. ©   (16.12.09 19:42) [2]
Извините, если невольно оскорбил ваш слух, но я не увидел в этом словосочетании чего-либо предосудительного... По базовому образованию далек от IT области, но иногда приходится сочинять простейшие запросы, поэтому и обратился в разде "Начинающим".
Осваивал по книге (нашел на полке у наших спецов, коих не допросишься) "Все о DELPHI. Язык SQL в Delphi5. А.Я. Архангельский. Глава 2. Основы языка SQL. Параграф 2.2.2. Совокупные характеристики, где речь и идет о понятиях count, min, max, ...". Так что по этому вопросу скорее к автору книги.

А вот как все-таки составить такой запрос ?


 
Сергей М. ©   (2009-12-17 00:10) [4]


> Все о DELPHI. Язык SQL в Delphi5. А.Я. Архангельский


Понятно.
Дальше можно не конкретизировать)


 
s_t_d   (2009-12-17 00:16) [5]

>Сергей М. ©   (17.12.09 00:10) [4]
А что понятно-то?
Если можете помочь - подскажите, где прочесть, а вещать полунамеками не к чему...


 
Сергей М. ©   (2009-12-17 00:30) [6]


> что понятно-то?


Скажу прямо - г-н Архангельский и его "творчество" здесь (и не только здесь), мягко говоря, не в почете. И есть за что.


 
s_t_d   (2009-12-17 00:35) [7]

>Сергей М. ©   (17.12.09 00:30) [6]
Если можете, пожалуйста подскажите, где прочесть...


 
Sergey13 ©   (2009-12-17 10:40) [8]

> [3] s_t_d   (17.12.09 00:07)
> 2)Предложенные вами варианты не проходят. Я понял так, что
> некорректное использование GROUP BY

Предпололожение не лишено основания. При группировке в Group by должны быть перечислены ВСЕ поля, перечисленные в select, кроме агрегатных.

> [7] s_t_d   (17.12.09 00:35)
> Если можете, пожалуйста подскажите, где прочесть...

В любом учебние по SQL. Можно поискать по фамилии Грубер (или Грабер).


 
s_t_d   (2009-12-17 12:34) [9]

>[8]Seegey13. Большое спасибо за конструктивную помощь.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2010.02.14;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.005 c
2-1260795886
AIK
2009-12-14 16:04
2010.02.14
При клике курсором на едите не появляется фокус


15-1260203464
boriskb
2009-12-07 19:31
2010.02.14
Ищу ПО для работы с архивом изображений


15-1260069104
KilkennyCat
2009-12-06 06:11
2010.02.14
Билогический прогресс был бы лучше технического.


2-1260986848
Михаил Левшов
2009-12-16 21:07
2010.02.14
Как очистить все окошки редактирования на форме (TEdit)


2-1260872714
Андрей_11
2009-12-15 13:25
2010.02.14
Combobox





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский