hey Jungs,
ich hab mit einem Kollegen ewig rumprobiert.
Wir haben das jetzt wie folgt raus bekommen.
Code:
Select Bauteil, Datum, sum(Menge) as Menge from
(SELECT t1.pid,t1.ff_name,t1.value as Bauteil,FROM_UNIXTIME(t1.`tstamp`, GET_FORMAT(DATE,'EUR')) as Datum,
(SELECT t2.value FROM `tl_formdata_details` as t2
Where t1.pid=t2.pid and t2.ff_name in ('menge_bauteil1')) as Menge
FROM `tl_formdata_details` as t1
Where t1.ff_name in ('bauteil1')
Union ALL
SELECT t1.pid,t1.ff_name,t1.value as Bauteil,FROM_UNIXTIME(t1.`tstamp`, GET_FORMAT(DATE,'EUR')) as Datum,
(SELECT t2.value FROM `tl_formdata_details` as t2
Where t1.pid=t2.pid and t2.ff_name in ('menge_bauteil2')) as Menge
FROM `tl_formdata_details` as t1
Where t1.ff_name in ('bauteil2')
) as tempT
Where Bauteil = "Polschrauben"
group by Bauteil, Datum
order by Datum, Menge desc
Nun habe ich aber noch eine Frage.
Ich lass mir ja nun noch das Datum mit anzeigen und will dann z.B. von Datum 01.06.2016 bis 22.06.2016 nur die anzeigen lassen.
mit dem Befehl
Code:
...
Where Bauteil = "Polschrauben"
and Datum between 01.06.2016 and 22.06.2016
group by Bauteil, Datum
order by Datum, Menge desc
geht das irgendwie nicht, da das Datum als Text hinterlegt ist und er nur schaut wo eine 0 am Anfang steht bis eine 2 am Anfang steht. Somit gibt er mir auch Werte wo z.b. 02.03.2016 mit dabei ist.
Wie kann ich die AND Abfrage so umbauen, dass er auch die Datumangaben richtig lesen kann und mir danach auch den Bereich raus gibt den ich haben will.
Lesezeichen