【问题标题】:Join Two Queries/Select Statement加入两个查询/选择语句
【发布时间】:2016-02-06 18:43:45
【问题描述】:

我不知道怎么解释。但我正在尝试加入两个选择语句/查询。我需要在同一张表中包含客户和供应商名称。

Table 1 - j:
Job ID, Customer ID
Table 2 - jl:
Job_Line.Job_ID, Supplier_ID
Table 3 - p:
ID, Name

First Select 语句 - 客户名称:

Select name
From p
INNER JOIN j ON p.id = j.customer_id

第二选择声明 - 供应商名称:

Select name
From p
INNER JOIN jl ON p.id = jl.supplier_id

不知道如何加入以上两个选择,所以我可以有一个像这样的表:

id, customer name, supplier name

我是 SQL 和在线学习的新手。我了解基础,但被困在这个发现这个复杂的地方!

【问题讨论】:

  • p 包含什么?客户的名字?供应商名称?两个都?您是否在 p 表中为客户和供应商使用不同的 ID?这个架构对我来说看起来很糟糕
  • @Jcl,确实如此,根据 Honhaar 提供的选择,我完全同意你的观点,即架构看起来很糟糕。
  • 是的 p 包含客户、供应商、经理等的姓名!!

标签: sql select join


【解决方案1】:

这应该可以解决问题

SELECT j.id, pc.name, ps.name
FROM j
INNER JOIN p pc ON j.customer_id = pc.id
INNER JOIN jl ON j.id = jl.job_id
INNER JOIN p ps ON jl.supplier_id = ps.id

注意,pc 和 ps 是表的别名。

【讨论】:

  • 在同一客户与不同供应商完成多项工作的情况下,上述查询无法正常工作。它返回错误的输出。
  • 谢谢,我花了一整天的时间来做这个!每项工作都是独一无二的。
猜你喜欢
  • 2011-08-27
  • 2015-11-05
  • 2011-01-03
  • 1970-01-01
  • 2017-04-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多