【问题标题】:LEFT OUTER JOIN 3 TABLES -SQL SERVER左外连接 3 个表 -SQL SERVER
【发布时间】:2018-07-11 19:37:37
【问题描述】:

我需要使用左外连接连接 3 个表。让我给你一个使用 3 个表的示例。在下图中我们可以看到表:[A.TableMaster] drugDescription 列必须是等于表:[C.Table2]-DrugDescription 列 [A.drugDescription=C.DrugDescription][C.drug=B.drug] 根据药品,Price 将从 Table:[B.Table1] 中分配。 还有 b.date

用简单的英语,用户选择特定药物的日期和分配给药物的价格

表格图片TableMaster,Table1,Table2

例如

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

但我无法与外部连接相关联,并且三个表似乎令人困惑,请帮助..

【问题讨论】:

  • 看那个截图。我想知道这些价格是否真的可以仅与药物名称和最近日期联系起来。我希望每个 codefull 应该有不同的价格?
  • codefull 不能有不同的价格
  • 不知何故我不明白这个问题。 “不能与外部连接相关”是什么意思?我可能弄错了,但我猜查询很简单: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 谢谢,它的工作原理
  • @Claricia 很高兴我能帮上忙。那么请善待并接受我刚刚发布的答案。

标签: sql-server


【解决方案1】:

我猜查询很简单:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多