【问题标题】:In mysql how can I sum 2 columns in different tables and group by a common column在 mysql 中,如何对不同表中的 2 列求和并按公共列分组
【发布时间】:2014-11-17 20:35:26
【问题描述】:

我有两张桌子:

医生

Headings wardName, x, y, docYears

护士

Headings wardName, a, b, nurseYear

每个表中有几行具有相同的 wardName。我想总结每个病房名的所有 docYears+nurseYears。目前我有这个:

SELECT Doctor.wardName, SUM(docYears+nurseYears) AS Total 
FROM Doctor 
JOIN Nurse WHERE Doctor.wardName=Nurse.wardName 
GROUP BY Doctor.wardName, Nurse.wardName;

这有效地给出了总和(docYears)*护士行数+总和(nurseYears)*每个病房的医生行数。我不想让它乘以另一个表中的行数,因为这给出了不正确的答案。谁能帮我纠正这个问题?

【问题讨论】:

  • 首先,我建议在您的问题中对您的代码使用一些格式。只需突出显示包含 SQL 语句的行,然后单击编辑器格式工具栏中的代码图标。这将添加 4 个空格的缩进,向 Markdown 预处理器发出它是一个代码块的信号。想要回答的人可以通过这种方式更轻松地阅读您的问题。

标签: mysql group-by sum


【解决方案1】:

尝试删除您的 WHERE 行并改为执行以下操作:

FROM Doctor JOIN Nurse ON Nurse.wardName = Doctor.wardName

【讨论】:

  • 这仍然导致同样的问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-27
  • 1970-01-01
  • 2021-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多