Hallo Community,
irgendwie komme ich gerade nicht weiter und würde gern mein Problem euch vorstellen und freue mich somit auf Gedanken anstöße die mir gerade fehlen um mein Probelm zu lösen.
Zu meiner Situation:
Ich habe einen Artikel der mit Hilfe einer History Table kontrolliert wird wo sich dieser Artikel zur Zeit im System befindet. Hier kann es passieren das der Artikel auch aus dem System entfernt wird und später der selbe Artikel wieder hinzugefügt wird.
Hier ein kleiner Ausszug aus meiner Table
So sieht meine Table aus und ich möchte nun gerne eine Abfrage machen von wann bis wann war mein Artikel da drin
Also müsste das Ergebniss so aussehen
Bis jetzt bekomme ich das hin
Und das ganze habe ich so umgesetzt
Ich freue mich auf eure Ideen und hoffe ich habe es verständlich erklärt.
irgendwie komme ich gerade nicht weiter und würde gern mein Problem euch vorstellen und freue mich somit auf Gedanken anstöße die mir gerade fehlen um mein Probelm zu lösen.
Zu meiner Situation:
Ich habe einen Artikel der mit Hilfe einer History Table kontrolliert wird wo sich dieser Artikel zur Zeit im System befindet. Hier kann es passieren das der Artikel auch aus dem System entfernt wird und später der selbe Artikel wieder hinzugefügt wird.
Hier ein kleiner Ausszug aus meiner Table
Code:
id,artikel_id,lager_id,zustand,zeit,id_device
1,0,1,0,10:00,0
2,0,1,0,10:05,0
3,1,0,2,10:08,1
4,0,1,0,10:10,0
5,1,0,3,10:12,1
6,0,1,0,10:15,0
7,1,0,2,10:17,1
8,0,1,0,10:20,0
So sieht meine Table aus und ich möchte nun gerne eine Abfrage machen von wann bis wann war mein Artikel da drin
Also müsste das Ergebniss so aussehen
Code:
id,artikel_id,lager_id,zustand,zeit,id_device
3,1,0,2,10:08,1
4,0,1,0,10:10,0
5,1,0,3,10:12,1
7,1,0,2,10:17,1
8,0,1,0,10:20,0
Bis jetzt bekomme ich das hin
Code:
id,artikel_id,lager_id,zustand,zeit,id_device
3,1,0,2,10:08,1
4,0,1,0,10:10,0
5,1,0,3,10:12,1
6,0,1,0,10:15,0
7,1,0,2,10:17,1
8,0,1,0,10:20,0
Und das ganze habe ich so umgesetzt
Code:
SELECT
id,
artikel_id,
lager_id,
zustand,
zeit
FROM
history,
(select zeit,lager_id from history where artikel_id=1) as t,
(select min(zeit) as min_time from history where artikel_id=1) as time
where
artikel_id = 1
or
find_in_set(id_device,t.lager_id)
zeit >= time.min_time
group by id
order by zeit desc
Ich freue mich auf eure Ideen und hoffe ich habe es verständlich erklärt.