JPQL JOIN查询具有相应值的行数(对于多列)

时间:2015-10-15 13:44:34

标签: mysql sql database jpql

考虑这两个表

AverageGame Table

firstGame   secondGame  thirdGame
   10         20           30

人员表

Person  first second  third
Bob      10     10      30
Bob      20     10      30
Bob      10     20      30

我试图返回bob得分与AverageGame表中的平均值相同的次数(例如,他首次获得10次,第二次获得20次,第三次获得30次) 结果应该是

[2,1,3]

任何人都可以告诉我如何做到这一点,因为我目前只能为一个专栏做这件事,非常感谢任何帮助谢谢

1 个答案:

答案 0 :(得分:0)

这有点奇怪。这是我的方法:

http://sqlfiddle.com/#!9/1a3720/2

SELECT person, 
  SUM(IF(`first` = firstGame,1,0)) firstCount,
  SUM(IF(`second` = secondGame,1,0)) secondCount,
  SUM(IF(`third` = thirdGame,1,0)) thirdCount
FROM Person
LEFT JOIN AverageGame
ON 1
GROUP BY person

但我的问题是,当AverageGame表有超过1条记录时,您期望会发生什么?