I am trying to run a query that contains a pending assignment task. The pending assignment table contain rows “new drug” and “current drug” that reference to the same drug dose row in another table. When I run a query like below, I get no results (notice that I am joining both the new and current drug to the same row dose ID:
SELECT D_PENDING_POCKET_ASSIGN.Station_Id,
D_PENDING_POCKET_ASSIGN.Cabinet_Num,
D_PENDING_POCKET_ASSIGN.Drawer_Num,
D_PENDING_POCKET_ASSIGN.Pocket_Num,
D_PENDING_POCKET_ASSIGN.Assignment_Type,
D_PENDING_POCKET_ASSIGN.Requested_By,
D_PENDING_POCKET_ASSIGN.Requested_Dttm,
D_PENDING_POCKET_ASSIGN.Current_Drug_Dose_Id,
AHI_DRUG_DOSE.Drug_Display_Name,
D_PENDING_POCKET_ASSIGN.New_Drug_Dose_Id
FROM CRX_DATA.dbo.D_PENDING_POCKET_ASSIGN D_PENDING_POCKET_ASSIGN,
CRX_DATA.dbo.AHI_DRUG_DOSE AHI_DRUG_DOSE
WHERE (D_PENDING_POCKET_ASSIGN.Current_Drug_Dose_Id =
AHI_DRUG_DOSE.Drug_Dose_Id)
OR (D_PENDING_POCKET_ASSIGN.New_Drug_Dose_Id =
AHI_DRUG_DOSE.Drug_Dose_Id)
However, when I run them separately, I get the desired results. See below:
SELECT D_PENDING_POCKET_ASSIGN.Station_Id,
D_PENDING_POCKET_ASSIGN.Cabinet_Num,
D_PENDING_POCKET_ASSIGN.Drawer_Num,
D_PENDING_POCKET_ASSIGN.Pocket_Num,
D_PENDING_POCKET_ASSIGN.Assignment_Type,
D_PENDING_POCKET_ASSIGN.Requested_By,
D_PENDING_POCKET_ASSIGN.Requested_Dttm,
D_PENDING_POCKET_ASSIGN.Current_Drug_Dose_Id,
AHI_DRUG_DOSE.Drug_Display_Name
FROM CRX_DATA.dbo.D_PENDING_POCKET_ASSIGN D_PENDING_POCKET_ASSIGN,
CRX_DATA.dbo.AHI_DRUG_DOSE AHI_DRUG_DOSE
WHERE (D_PENDING_POCKET_ASSIGN.Current_Drug_Dose_Id =
AHI_DRUG_DOSE.Drug_Dose_Id)
SELECT D_PENDING_POCKET_ASSIGN.Station_Id,
D_PENDING_POCKET_ASSIGN.Cabinet_Num,
D_PENDING_POCKET_ASSIGN.Drawer_Num,
D_PENDING_POCKET_ASSIGN.Pocket_Num,
D_PENDING_POCKET_ASSIGN.Assignment_Type,
D_PENDING_POCKET_ASSIGN.Requested_By,
D_PENDING_POCKET_ASSIGN.Requested_Dttm,
AHI_DRUG_DOSE.Drug_Display_Name,
D_PENDING_POCKET_ASSIGN.New_Drug_Dose_Id
FROM CRX_DATA.dbo.D_PENDING_POCKET_ASSIGN D_PENDING_POCKET_ASSIGN,
CRX_DATA.dbo.AHI_DRUG_DOSE AHI_DRUG_DOSE
WHERE (D_PENDING_POCKET_ASSIGN.New_Drug_Dose_Id = AHI_DRUG_DOSE.Drug_Dose_Id)
I would like to know if there is a way to create a view by combining the two select queries into one?
Thank you
Your query, as written, will not likely work.
You are asking SQL to find a record in the AHI_DRUG_DOSE table with the field Drug_Dose_ID equal to both the Current_drug_dose_id and the New_Drug_dose_Id. Unless those ID’s are the same, it is not possible to have one field contain both values…
Try this instead.