LEFT OUTER JOIN连接3个表-SQL SERVER

3
我需要使用左外连接来加入3个表。让我用三个表举个例子。在下面的图像中,我们可以看到表:[A.TableMaster]中的drugDescription列必须等于表:[C.Table2]中的DrugDescription列[A.drugDescription=C.DrugDescription],并且[C.drug=B.drug]根据药物从表:[B.Table1]中分配价格。 还有b.date
简单来说,用户选择特定药物的日期和为该药物分配的价格。
表格图像:TableMaster,Table1,Table2 enter image description here

e.g

case WHEN Drug='OCTAGAM' THEN [b.price],

但我无法理解外连接和三个表之间的关系,似乎很混乱,请帮忙解释一下。

看着那个截图,我在想这些价格是否真的只能通过药品名称和最近日期进行链接。我认为每个代码全都应该有不同的价格。 - LukStorms
不能有代码完整性的不同价格。 - RoverRoll
我有点不理解问题所在。你说的“无法与外连接相关联”是什么意思?我可能错了,但我认为查询很简单:SELECT a.*, c.Price FROM TableMaster AS a LEFT OUTER JOIN Table2 AS b ON b.DrugDescription = a.DrugDescription LEFT OUTER JOIN Table1 AS c ON c.Drug = b.Drug AND c.Date = a.Date - 但我猜你已经尝试过了? - Tyron78
@Tyron78 谢谢,它正在运行。 - RoverRoll
@Claricia 很高兴我能帮到你。那么请您好心接受我刚刚发布的答案。 - Tyron78
1个回答

2

我想查询的很简单:

SELECT a.*, c.Price
  FROM TableMaster AS a
  LEFT OUTER JOIN Table2 AS b ON b.DrugDescription = a.DrugDescription
  LEFT OUTER JOIN Table1 AS c ON c.Drug = b.Drug
    AND c.Date = a.Date

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接