【问题标题】:Joining tables on foreign key外键连接表
【发布时间】:2026-01-10 11:50:01
【问题描述】:

我有以下三个表:

  • 产品
  • 购买(包含 ProductID 作为外键)
  • 销售(也包含 ProductID 作为外键)

我想形成查询连接这 3 个表,我的结果是产品名称、购买和销售。

Product Name - (来自产品表)

Purchased - (根据ProductID在Purchase表中出现的次数)

Sold - (根据 ProductID 在销售表中出现的次数)

您能否通过给我提示让我走上正确的轨道,我会自己完成?

【问题讨论】:

标签: sql sql-server tsql microsoft-metro


【解决方案1】:

我打赌这会被删除...但希望你能在它之前看到它。以下内容对于理解 SQL JOINS 中的差异非常有帮助。 。这个答案或凯尔的答案就是您解决问题所需要的。

来源:INNER JOIN, LEFT/RIGHT OUTER JOIN

【讨论】:

  • 如果您要投反对票,请解释为什么这是错误的?
【解决方案2】:

就提示而言,您需要使用某种连接 (join fundamentals)。

一个可能的答案如下:

Select p.ProductName, pu.Purchased, s.Sold
From Products p 
INNER JOIN Purchase pu on p.ProductID = pu.ProductID
INNER JOIN Sale s on s.ProductID = p.ProductID

【讨论】:

  • 那不好!!! 给一个人一条鱼,你就喂他一天;教一个人钓鱼,你就可以养他一辈子你刚刚给了他一条鱼。不过+1!!!
  • 他和其他 12k 人。如果您在其他问题中找到答案,您可以将其标记为重复,您知道。