Re: query help
От | Ian Barwick |
---|---|
Тема | Re: query help |
Дата | |
Msg-id | 9nfpe2$192d$1@news.tht.net обсуждение исходный текст |
Ответ на | query help (Jeff Patterson <jpat@sonic.net>) |
Список | pgsql-general |
Jeff Patterson wrote: > This seems like such a basic function that I'm sure I am missing something > fundamental. I have a table, say xref, whose columns are primary key > values for other tables. Some of theses keys may be NULL for a given row > in xref. I want to create a query that returns the corresponding entries > in the other tables. > > xref: > drug_id | function_id|syst_id |text_id > -------------------------------------- > d0001 | 2 | 3 | 3423 > d0001 | 5 | | 5678 > d0056 | 3 | 5 | > > system_id: > syst_id | syst_desc > ------------------- > 3 | renal > 4 | hepatic > 5 | respiratory > > clinical_text: > text_id| clinical_text > ----------------------------------- > 3423 | 'some medical mumbo jumbo' > 5678 | 'more of the same' > > I want the syst_desc and clinical_text (plus other similar data from > tables not shown) given a drug_id and function_id. > > Any help? If I understand you correctly, you want the query to return the syst_desc and clinical_text fields where either or both are available? (and not just where both are available)? If so a LEFT JOIN may be your best friend. The statement could look like this: SELECT system_id.syst_desc, clinical_text.clinical_text FROM xref LEFT JOIN system_id ON xref.syst_id=system_id.syst_id LEFT JOIN clinical_text ON xref.text_id=clinical_text.text_id WHERE xref.drug_id=? <- insert query value here AND xref.function_id=? <- and here (disclaimer: statement untested) The values not available will be returned as NULL. > Thanks a bunch, a bunch of what? ;-) HTH Ian Barwick -- Ian Barwick - Developer http://www.akademie.de Remove SUNGLASSES to reply ;-)
В списке pgsql-general по дате отправления: