"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

gesucht: sql-abfrage

BuX 08.01.2007 - 17:14 2006 18
Posts

prayerslayer

Oar. Mh.
Avatar
Registered: Sep 2004
Location: vorm Sucher
Posts: 4073
gut, dass sich wenigstens einer von uns mit sql auskennt :D habs ausgebessert, danke noch mal :)

prayerslayer

Oar. Mh.
Avatar
Registered: Sep 2004
Location: vorm Sucher
Posts: 4073
tataa ich hab schon wieder was. aber diesmal verständlich ;)

in meinem statement zähl ich durchschnittswerte pro monat zusammen, also group by month(Journal.Beginn). month(<datetime-value>;) gibt aber naturgemäß nur 1, 2, 3 usw zurück, was ich unästhetisch finde.

so hätte ich es gerne:
Code: PHP
SELECT CONVERT(VARCHAR(7), j.Beginn, 111) AS 'Monat', CAST(COUNT(*) AS FLOAT)/...
FROM Journal j ...
WHERE ...
GROUP BY MONTH(j.Beginn)

aber das geht nicht, weil im select und im group by nicht dasselbe steht (einmal j.Beginn und einmal MONTH(j.Beginn)). ändere ich den teil im group by, bekomm ich nach tagen gruppiert ergebnisse, ändere ich den teil im select, hab ich wieder hässliche zahlen in der monatsspalte.

hoff ihr habts es verstanden und wisst einen workaround? ich mag nicht auf schön formatierte daten verzichten.

tinker

SQUEAK
Avatar
Registered: Nov 2005
Location: NÖ
Posts: 5201
Basierend auf diesen Informationen hätt ich folgendes gesagt:

Code:
SELECT tab.Monat, ...
FROM (SELECT CONVERT(VARCHAR(7), j.Beginn, 111) AS 'Monat', CAST(COUNT(*) AS FLOAT)/... FROM Journal j ...) tab
WHERE ...
GROUP BY tab.Monat

Also ne Inline-View. Da musst aber auch zb dem "CAST(COUNT(*) AS FLOAT)/..." ein alias geben damit dus im äußersten Select abfragen kannst.

hth :)

(Ich mag sql :D)
Bearbeitet von tinker am 08.04.2008, 18:59

prayerslayer

Oar. Mh.
Avatar
Registered: Sep 2004
Location: vorm Sucher
Posts: 4073
ah, auf so ein select statt einer table bzw. einen view bin ich wieder nicht gekommen :rolleyes: mit den infos sollt ichs hinkriegen, danke dir ;)

//was ein view alles leichter macht :D
Bearbeitet von prayerslayer am 09.04.2008, 10:40
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz