根据同一个表中另一列的计数从表中选择一列

时间:2018-01-11 20:46:06

标签: sql

标题听起来很复杂xd无法将其更清晰地表达出来,所以我会尝试细节:

有3个表

  • PRODUCT(民,名称)
  • LEVEL(民,名称)
  • RISK(NumProduct,NumLevel)

NumProductNumLevel是引用其他表的外键。 主键为NumNumNumProduct

所以问题是:我想要显示产品数量的风险等级> 10,这意味着应该选择至少在风险表中重复10次的任何级别,结果必须显示level.num,level.name和产品数量。

我希望你们帮助我,我正在努力解决这个问题,提前谢谢

编辑:这是我尝试的但是只在纸上xd不确定它是否正确

SELECT
  Num,
  Name,
  COUNT(NumProduct)
FROM Level,
     Risk
WHERE Level.Num = Risk.NumLevel
GROUP BY NumProduct
HAVING COUNT(NumProduct) >= 10

1 个答案:

答案 0 :(得分:0)

如果 我正确地遵循了这个问题,这应该可以解决问题:

SELECT
  level.num,
  level.name,
  COUNT(*)
FROM level
JOIN risk
  ON level.num = risk.numproduct
GROUP BY level.num
HAVING COUNT(*) >= 10;