Gamestudio Links
Zorro Links
Newest Posts
Newbie Questions
by AndrewAMD. 12/05/23 10:56
Zorro Trader GPT
by TipmyPip. 12/04/23 11:34
Square root rule
by Smallz. 12/02/23 09:15
RTest not found error
by TipmyPip. 12/01/23 21:43
neural function for Python to [Train]
by TipmyPip. 12/01/23 14:47
Xor Memory Problem.
by TipmyPip. 11/28/23 14:23
Training with command line parameters
by TipmyPip. 11/26/23 08:42
Combine USD & BTC Pairs In Asset Loop
by TipmyPip. 11/26/23 08:30
AUM Magazine
Latest Screens
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Tactics of World War I
Who's Online Now
6 registered members (AndrewAMD, alibaba, fairtrader, ozgur, TipmyPip, Quad), 622 guests, and 1 spider.
Key: Admin, Global Mod, Mod
Newest Members
fairtrader, hus, Vurtis, Harry5, KelvinC
19019 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
[MYSQL] Umsatzabfrage für bestimmte Monate oder ganzes Jahr #214220
07/03/08 10:26
07/03/08 10:26
Joined: Apr 2005
Posts: 3,076
Germany, NRW
rvL_eXile Offline OP

3D Artist
rvL_eXile  Offline OP

3D Artist

Joined: Apr 2005
Posts: 3,076
Germany, NRW
Hi zusammen, ich habe gerade ein kleines Problem mit ner mySQL Query. Ich muss aus einem Datensatz der mit einem ganzen "Text" (Text kann man sich als bestellformular vorstellen, welches Bestelldatum / BestellWert Brutto: enthält) gefüllt ist, einmel das Datum und einmal den Gesamtwert Brutto ausgeben.
Nun sollena ber alle Daten von 01.06.2007 bis 31.06.2007 zusammen gefasst werden und der Gesamt Umsatz somit ermittelt werden.

Hier mal meine mySQL Query
:
Code:
SELECT SUBSTRING(bestellung,19,7) AS Datum,
SUM(LTRIM(SUBSTRING(bestellung,INSTR(bestellung,'Bestellwert Brutto:')+19,10))) AS 'Umsatz'
FROM TabellenName
WHERE SUBSTRING(bestellung,19,7)='06.2007'
GROUP BY 'Datum';


Ausgabe:
Code:
+---------+---------+
| Datum   | Umsatz  |
+---------+---------+
| 06.2007 | 44510.4 |
+---------+---------+


Beschreibung zur Query:


SELECT SUBSTRING(bestellung,19,7) AS Datum,

Dies selektiert mir das Datum, beispielsweise 06.2007.
Die "19" steht für die Position wo das Datum steht.
Die "7" bestimmt, das die nächsten sieben Zeichen welche nach den "19" Positionen kommen selektiert werden.

SUM(LTRIM(SUBSTRING(bestellung,INSTR(bestellung,'Bestellwert Brutto:')+19,10))) AS 'Umsatz'

LTRIM bestimmt, das alle Leerzeichen die vor dem Wert kommen gelöscht werden. Das INSTR in dem SUBSTING besagt, das die Position da ist, wo die beiden Wörter "Bestellwert Brutto:" vorkommen ist. +19,10 steht dafür das "Bestellwert Brutto:" übersprungen wird und alles was danach kommt selektiert wird (10 Zeichen lang)

Hoffe das dies ausführlich genug beschrieben ist...

Hier einmal das Beispiel, wie meine Ausgabe aussehen soll:

Code:
+---------+---------+
| Datum   | Umsatz  |
+---------+---------+
| 06.2007 | 44510.4 |
| 07.2007 | 15123.5 |
| 08.2007 | 68320.1 |
+---------+---------+


Hat einer dies bezüglich eine Idee? Mir fällt jedenfalls nichts ein...

cYa Sebastian


Tutorials:
[Blender]Terrain creation ENG/GER
[Blender]Low Poly Tree Modeling
[GIMP]Create a Texture for Terrains
CLICK HERE


Re: [MYSQL] Umsatzabfrage für bestimmte Monate oder ganzes Jahr [Re: rvL_eXile] #214308
07/04/08 00:52
07/04/08 00:52
Joined: Aug 2003
Posts: 2,122
Berlin, Germany
checkbutton Offline

Expert
checkbutton  Offline

Expert

Joined: Aug 2003
Posts: 2,122
Berlin, Germany
Meine Fresse? Wer speichert sämtliche Bestelldaten in einem ewig langen Text?
Wie wärs mit anständiger Datenmodellierung?
Mir fällt jetzt auf Anhieb nicht ein, wie ich es machen würde.
Vermutlich würde ich es nicht mit SQL verarbeiten, da das doch schon um einiges komplizierter ist.
Kann SQL eigentlich regular expressions?


I don't have a homepage, for god's sake!
Re: [MYSQL] Umsatzabfrage für bestimmte Monate oder ganzes Jahr [Re: checkbutton] #214323
07/04/08 05:17
07/04/08 05:17
Joined: Apr 2005
Posts: 3,076
Germany, NRW
rvL_eXile Offline OP

3D Artist
rvL_eXile  Offline OP

3D Artist

Joined: Apr 2005
Posts: 3,076
Germany, NRW
Quote:
Meine Fresse? Wer speichert sämtliche Bestelldaten in einem ewig langen Text?


Genau das hab ich mir auch gedacht...

Quote:
Kann SQL eigentlich regular expressions?

Ja RegEx wird unterstützt, ich bezweifel aber, das ich damit das Problem lösen könnte...


Tutorials:
[Blender]Terrain creation ENG/GER
[Blender]Low Poly Tree Modeling
[GIMP]Create a Texture for Terrains
CLICK HERE


Re: [MYSQL] Umsatzabfrage für bestimmte Monate oder ganzes Jahr [Re: rvL_eXile] #214350
07/04/08 09:58
07/04/08 09:58
Joined: Aug 2003
Posts: 2,122
Berlin, Germany
checkbutton Offline

Expert
checkbutton  Offline

Expert

Joined: Aug 2003
Posts: 2,122
Berlin, Germany
Und du musst das unbedingt mit SQL machen?
Ich könnt mir höchstens vorstellen, dass du den ersten Query in einem View speicherst und dann einfach die Nummern durchrattern lässt...


I don't have a homepage, for god's sake!
Re: [MYSQL] Umsatzabfrage für bestimmte Monate oder ganzes Jahr [Re: rvL_eXile] #214365
07/04/08 10:38
07/04/08 10:38
Joined: Jan 2003
Posts: 4,615
Cambridge
Joey Offline
Expert
Joey  Offline
Expert

Joined: Jan 2003
Posts: 4,615
Cambridge
ich hab die frage zwar nicht gefunden, also interpretier ich mal. der query, den du da oben hast, liefert dir eine tabelle mit datum und umsatz.

Code:
SELECT SUBSTRING(bestellung,19,7) AS Datum,
SUM(LTRIM(SUBSTRING(bestellung,INSTR(bestellung,'Bestellwert Brutto:')+19,10))) AS 'Umsatz'
FROM TabellenName
WHERE SUBSTRING(bestellung,19,7)='06.2007'
GROUP BY 'Datum';


und das gibt er dir aus.
Code:
+---------+---------+
| Datum   | Umsatz  |
+---------+---------+
| 06.2007 | 44510.4 |
| 07.2007 | 15123.5 |
| 08.2007 | 68320.1 |
+---------+---------+


was du jetzt willst, ist, dass daraus noch ein gesamtumsatz ermittelt wird, ja? sonst hab ich dich falsch verstanden und du solltest die frage nochmal klar formulieren.
probier mal das:

Code:
SELECT SUM('Umsatz') AS 'Gesamt' FROM (SELECT SUBSTRING(bestellung,19,7) AS Datum,
SUM(LTRIM(SUBSTRING(bestellung,INSTR(bestellung,'Bestellwert Brutto:')+19,10))) AS 'Umsatz'
FROM TabellenName
GROUP BY 'Datum');


wenn du das jetzt pro monat aufgeschlüsselt haben willst, kannst du ja in die äußere select-klausel noch den monat aus dem datum extrahieren und ein group by monat hinzufügen.

grüße,
joey

Re: [MYSQL] Umsatzabfrage für bestimmte Monate oder ganzes Jahr [Re: Joey] #214394
07/04/08 11:54
07/04/08 11:54
Joined: Aug 2003
Posts: 2,122
Berlin, Germany
checkbutton Offline

Expert
checkbutton  Offline

Expert

Joined: Aug 2003
Posts: 2,122
Berlin, Germany
Falsch verstanden. Er hat nur nen Query, der ihm für einen Monat den Gesamtumsatz liefert. Er will aber eine Liste mit allen Monaten.

Gesamtumsatz von allen Monaten wär ja einfach.


I don't have a homepage, for god's sake!
Re: [MYSQL] Umsatzabfrage für bestimmte Monate oder ganzes Jahr [Re: checkbutton] #214403
07/04/08 12:56
07/04/08 12:56
Joined: Jan 2003
Posts: 4,615
Cambridge
Joey Offline
Expert
Joey  Offline
Expert

Joined: Jan 2003
Posts: 4,615
Cambridge
leute, wie beschreibt ihr denn eure probleme =).

Quote:
Er hat nur nen Query, der ihm für einen Monat den Gesamtumsatz liefert. Er will aber eine Liste mit allen Monaten.


das in sql fertigzubringen ist in der tat schwieriger wie es für alle monate zu machen. vielleicht steht da die where-clausel im weg, weil die das für einen monat einschränkt? o.O

komisch komisch.
joey.


Gamestudio download | chip programmers | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1