我有以下两个表:小提琴
因此,我需要来自 tab1 的“名称”列表,其中“dur”的总和为 10 或更大。两个表之间的连接是 tab1 中的“数字”,可以在 tab2 的“xxx”或“yyy”列中找到。所以预期的输出应该是:Jack, Anna
因为 Jack(1234) 的 'dur' 和是 10,Anna(7582) 的 'dur' 和是 12。
到目前为止,我知道如何根据一列 XXX 获得总和:
SELECT tab1.name FROM tab1
INNER JOIN (
SELECT xxx, SUM(dur) AS total_dur
FROM tab2
GROUP BY xxx)
tab2 ON tab1.number=tab2.xxx
WHERE total_dur >=10
但我如何同时考虑第二个“yyy”列?
您可以OR
在连接条件中使用来检查两列。使用HAVING
也可能使查询更具可读性。
SELECT name FROM tab1
JOIN tab2 ON xxx = number OR yyy = number
GROUP BY name
HAVING SUM(dur) >= 10
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句