1

trips_data という 2 つのテーブルがあり、tripid、userid、species (int)、killcount masterspecies には、species_id と speceies (string) がありました。

取得したい旅行で見たすべての種のリストを取得しようとしています

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

などなど
、合計(killcount)が57であるはずの約8000であることを除いて、必要なものすべてを返す以下のクエリがあります。

どんな助けでも大歓迎です

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
4

2 に答える 2

2

データベースに参加方法を伝える必要があります。そうしないと、可能なすべての組み合わせが得られます。trips_data.species は master_species.species_id と一致する必要があるようです。そうですか?結果を種ごとにグループ化する必要もあります。

SELECT sum(trips_data.killcount), trips_data.species, masterspecies.species 
from trips_data join masterspecies
WHERE tripid=$tripid AND userid=1 and trips_data.species=masterspecies.species_id
group by trips_data.species, masterspecies.species;
于 2013-09-11T17:01:23.760 に答える