我有两张桌子
trips_数据,如tripid、userid、species(int)、killcount
具有物种id和物种的主物种(字符串)
我想找回一份旅行中看到的所有物种的名单
我希望得到

sum(killcount) : tripid :species (string):species (int)
57                 300    rabbit            1
2                  300    foxes             2
1                  300    squirels          8

等等
我有下面的查询,它返回我想要的所有东西,除了总和(killcount)大约是8000,而它应该是57。
任何帮助都会非常感激
SELECT sum(trips_data.killcount),
  trips_data.species,trips_data.spceces,
  masterspecies.species
from trips_data
join masterspecies
WHERE tripid=$tripid
   AND userid=1
   AND NOT killcount=0

最佳答案

这是笛卡尔连接:

from trips_data join masterspecies

这将为两个表中的每个记录组合返回一条记录。这通常不是目的。连接条件如下所示:
from trips_data
join masterspecies
on masterspecies.species_id = trips_data.species_id

这将匹配记录,并且只返回匹配的记录,因此有可能您的总和将正确得出。

08-08 01:29