I haben die folgenden Modelle in einer Rails 3 app und wählen Anforderung:SQL-Aggregat count = 0
class Item < AR
has_many :holdings
class Holding < AR
belongs_to :item
Die Holding-Modell hat einen 'aktiven' Booleschen Wert.
Ich möchte jedes Element finden, das 0 'aktive' Bestände hat (es kann eine beliebige Anzahl von verbundenen Positionen haben), ich habe einige Kombinationen ausprobiert.
SELECT * from items JOIN
(SELECT holdings.item_id, count(ifnull(item_id,0)) AS hcount FROM holdings
WHERE holdings.active = "t"
GROUP BY holdings.item_id
HAVING hcount = 0)
ON items.id = holdings.item_id
aber dies wird nur Zählungen zurück, die größer sind als 0
Kann mir jemand in die richtige Richtung?
danke, das macht viel mehr Sinn! – scaney