Datum zusammenfassen

Neo87

Neuer Benutzer
Beiträge
3
Guten Abend zusammen,

ich sitze verzweifelt an einer für die ein oder anderen einfach Abfrage. Zugegeben ich beschäftige mich erst seit ca. 2 Monaten mit dem Thema MS-SQL.

Folgendes Problem:
In der Tabelle Transactions sehen wir folgendes:
ZwghnjGR6FqH.gif

ZwghnjGR6FqH.PNG


Ich möchte nun, dass das Datum zusammengefasst wird je Tag. In der Tabelle sind einzelne Transaktionen. Bei der Abfrage soll dann halt nur noch 1 Tag dargestellt werden. Das Feld Total Amount müsste dann auch summiert werden, je Tag...

Hat jmd. eine Idee, wie ich das geschickt lösen kann?

Vielen Dank schon mal für eure Unterstützung!

Grüße Neo
 
Werbung:
Ein ganz normale Aggregation also, oder? Sinngemäß: select trans_date::date, sum(amount) from ... group by trans_date::date, wobei das trans_date::date das Casting des Timestamps zu Date darstellt. Das kann in M$SQL durchaus syntaktisch anders gehen, ich nutze es nicht und kenne das daher nicht gut genug.
 
Moin moin,

ich würde mal sagen das das Zauberwort hier "GROUP BY" ist. DU müsstest dein "trans_date" vermutlich nach datetime konvertieren und dadrüber gruppieren und dann die Summe von "Total Amount". Dann solltest du dien Ergebnis haben.

Grüße
 
MSSQL:
Code:
SELECT   cast(trans_date AS DATE) AS Tag,
     count(*) AS anzahl
FROM  tabelle
GROUP BY cast(trans_date AS DATE)
Welche Version von MSSQL?
 
Erst einmal möchte ich mich schon einmal für die zahlreichen Antworten bedanken. Ich komme meiner Lösung schon näher. Ich nutze MSSQL 2008R2
 
select dbo.transactions.trans_date AS 'DATUM',
dbo.articles.code AS 'PLU',
dbo.articles.description AS 'Artikel',
dbo.shops.description AS 'ORT',
dbo.trans_articles.qty_weight AS 'Anzahl'

from trans_articles

join dbo.transactions ON dbo.trans_articles.transaction_id = dbo.transactions.id

join dbo.articles ON dbo.trans_articles.article_id =dbo.articles.id

join shops ON transactions.shop_id = shops.id

WHERE card_num = '12'

Das ist die gesamte Abfrage. Wenn ich den Befehl CAST anwende erhalte ich leider nur eine Fehlermeldung... Was mache ich wohl falsch?
 
Werbung:
MSSQL kennt DATE seit Version 2008 und cast() schon länger. I.d.R. liefert MS gute Fehlermeldungen und es ist auch gut dokumentiert.
 
Zurück
Oben