All Forums Database
Tesh 4 posts Joined 09/09
02 Sep 2009
Subqueries Workaround

Hi,



I noticed that I can’t do sub queries in Teradata.



For example:

Select patient_name

Patient_age,

Patient_weight,

(Select Count(*) from drug_taken WHERE drug_name=”Warfarin” patient_id=10) CountWarfarin,

(Select Count(*) from drug_taken WHERE drug_name=”Heprin” patient_id=10) CountHeprin

FROM patient

WHERE patient_id=10



So what is the workaround for this? Where I don’t have to create a stored procedure.



Thank you,

-Tesh

ANIMESH.DUTTA 35 posts Joined 05/09
07 Sep 2009

It's not that Sub-queries are not allowed in Teradata. It has to be handelled properly.
Check - if the following query is giving the same result or not.

SELECT
PATIENT_NAME
,PATIENT_AGE
,PATIENT_WEIGHT
,COUNTWARFARIN.CNT1
,COUNTHEPRIN.CNT2

FROM
PATIENT
,(SELECT COUNT(*) CNT1 FROM DRUG_TAKEN WHERE DRUG_NAME = 'WARFARIN' AND PATIENT_ID=10) COUNTWARFARIN
,(SELECT COUNT(*) CNT2 FROM DRUG_TAKEN WHERE DRUG_NAME = 'HEPRIN' AND PATIENT_ID=10) COUNTHEPRIN
WHERE
PATIENT_ID=10
;


Other Query Experts need to interfere and answer - Cummon!!!

Regards,
ANIMESH DUTTA

n/a
Karam 25 posts Joined 07/09
25 Sep 2009

The above reply is quite a alternative, else a volatile table can be used here.

You must sign in to leave a comment.