【发布时间】:2018-09-10 03:44:35
【问题描述】:
这是我的餐桌设计:
我像这样对单独的 DrugPackage 表编写查询,它工作正常并给了我 16 条记录。
Select
packText, ifnPriceAup
from
med.DrugPackage
where
latest = '1' and available = '1' and baseDrug = '5102';
但我需要获取,相关 BaseDrug 表 -> 名称以及药物表 -> 名称以及 TradName 表 -> neme。我尝试了很多时间使用表连接,但我没有成功。
我写这个查询,但输出看起来不正确。
Select
brandedDrug.tradeName, basebrandedDrug.name, basebrandedDrug.id,
baseDrug.name, packText, ifnPriceAup
from
med.DrugPackage
left join
med.BaseDrug as baseDrug on med.DrugPackage.baseDrug = baseDrug.id
left join
med.BaseBrandedDrug as basebrandedDrug on med.DrugPackage.brandedDrug = basebrandedDrug.id
left join
med.BrandedDrug as brandedDrug on med.DrugPackage.baseDrug = brandedDrug.id
where
med.DrugPackage.latest = '1'
and available = '1'
and baseDrug = '5102';
输出:
最后三列记录正确,但前两列不正确。而且,我想打印商品名而不是 ID。
【问题讨论】:
标签: sql join database-design