Hallo Thomas,

aahhh, wieder was gelernt. Alles klar! Funktioniert!

Vielen Dank und viele Grüße

Michael Kastner

Thomas Jachmann schrieb:
Moin Michael,

die Funktion date() erwartet meines Wissens keinen Format-String. Sie gibt das übergebene Datum einfach mit '%Y-%m-%d' formatiert aus. Um ein eigenes Format zu verwenden, nimmst Du besser strftime(). Dann solltest Du Deinem Feld noch einen Namen geben, damit Du später einfach darauf zugreifen kannst:

Publication.find(:all, : select => "distinct strftime('%Y', published_at) as pa").map(&:pa)

Das liefert Dir dann ein Array mit allen Jahreszahlen (als Strings). Etwas unschön, da für jede Jahreszahl eine Publication instanziiert wird, aber ansonsten müsste man direkt über die connection gehen und das komplette SQL selbst zusammenbauen.

Gruß, Thomas


Am 27.01.2009 um 15:40 schrieb Michael Kastner:

Hallo,

ich würde gern aus einer Tabelle mit Publikationen nur die Jahreszahlen herauzfiltern, in denen Publikationen erschienen sind. Die Tabelle steht in sqlite-Datenbank.

Ich habe das hier versucht:

>> Publication.find(:all, :select => "distinct date(published_at,'%Y')")
=> [#<Publication >]

Vielleicht kann mir ja jemand auf die Sprünge helfen.

Viele Grüße

Michael Kastner
_______________________________________________
rubyonrails-ug mailing list
[email protected]
http://mailman.headflash.com/listinfo/rubyonrails-ug


_______________________________________________
rubyonrails-ug mailing list
[email protected]
http://mailman.headflash.com/listinfo/rubyonrails-ug


_______________________________________________
rubyonrails-ug mailing list
[email protected]
http://mailman.headflash.com/listinfo/rubyonrails-ug

Antwort per Email an