Hallo,
ich habe hier etwas ziemlich häßliches und dazu noch ziemlich lahmes:
named_scope :on_stock,
:include => [:po_items, :sales],
:conditions => [
<<-EOF
( ( SELECT SUM(po_items.quantity)
FROM po_items
WHERE product_id = products.id AND
po_items.delivery_status_type = 1) -
( SELECT SUM(sales.quantity)
FROM sales
WHERE product_id = products.id ) ) > 0
EOF
]
Das Teil Dauert bei mir auf dem Entwicklungsrechner bei ca. 1000
Produkten etwas mehr als 1.6 Sekunden. Ich weiß, daß das grauselig
aussieht, aber mir ist bisher keine bessere Lösung als die obige
eingefallen.
Eigentlich ist es auch kein Rails-Problem und die Lösung ist wohl eher
auf der SQL-Seite zu suches, aber vielleicht weiß ja trotzdem jemand
wie man die Subselects durch joins ersetzen kann. Denn das wäre
definitiv die elegantere Methode, aber ich kriege im Moment einfach
keine andere Lösung hin.
Falls jemand einen Tip hat? Schon mal vielen Dank im voraus.
Viele Grüße
Michael Kastner
_______________________________________________
rubyonrails-ug mailing list
rubyonrails-ug@headflash.com
http://mailman.headflash.com/listinfo/rubyonrails-ug