SELECT k.condition,
SUM(IIf(AnimalType=3,1,0)) AS Carnivore,
SUM(IIf(AnimalType=4,1,0)) as Herbivore
From Animals a inner join knownconditions k on a.id = k.id
where a.id in (3, 11, 12)
AND (AnimalType=3 OR AnimalType = 4)
Group by a.id, k.id
上記のクエリは、特定の種類の条件を持つすべてのAnimalsを取得します。このように:この例のために合計を使用してクエリの条件と一致しない行をフェッチする方法
Condition | Carnivore | Herbivore
------------| ----------|-------------
Condition1 | 33 | 3
Condition2 | 2 | 4
、幸いにもAnimals
テーブルには動物が条件Condition3
を持っていないよう
ID | Condition
------|------------
3 | Condition3
以下のようknownconditions
テーブルのレコードが存在することを検討してください。したがって、私の上記の質問はリストもCondition3
しません。もたらした結果であるように、私は私のクエリを変更するにはどうすればよい
:
Condition | Carnivore | Herbivore
------------| ----------|-------------
Condition1 | 33 | 3
Condition2 | 2 | 4
Condition3 | 0 | 0
は、あなたのテーブル定義を投稿してもらえますか?それだけで理解するのはちょっと難しいです。ありがとう。 – MPelletier
私は大好きですが、実際のテーブルははるかに大きく複雑です。だから、ピンが私の問題を指摘するデザインを思いついたのです。 – James