SQL brauche Hilfe beim Query zusammenbasteln

Is klar dass es 3 Datensätze gibt, wenn du ein Group nach l.id machst...sind ja 3 verschiedene

musst group by o.id machen oder l.object
 
okay, dann kommen zwar 2 raus - aber einer gehört immernoch der l.id 279 (Praktikant) statt 280 (was wie ich finde eindeutig größer - also aktueller ist als 279 :ugly: )
 
joar dann noch das desc im subquery reinhauen...größter muss ja oben stehen nich wie bei asc unten ;)

[edit] und jetzt sag dass es geht, ich will feierabend machen... ;)
 
Du darfst keinen group by timestamp machen, sonst hast du für jeden timestamp nur noch eine ausgabe, was theoretisch falsch ist, da zwei sachen zur gleichen zeit den besitzer wechseln können...

[edit] ich mach jetzt feierabend...hope it works m8
 
es geeeeht ;)

ich lieeebe euch :D


für die perfektionisten:
[16:01] kantholy: aber: das ließt jetzt nur rechner aus die bereits einer location zugeordnet sind...
[16:01] kantholy: will heissen: meine niegelnagel neuen rechner werden nicht angezeigt
[16:02] kantholy: weil wir das ganze von hinten abgewickelt haben weil ja in dem subquery erst die location db abgefragt wird...
 
Code:
SELECT  
     *  
FROM  
     (  
          SELECT *  
          FROM location  
          ORDER BY `timestamp` DESC  
     ) AS l  
LEFT JOIN  
     objects AS o ON o.id = l.object  
GROUP BY  
     l.object
 
Code:
SELECT * FROM objects A LEFT JOIN location B ON A.id = B.object
WHERE (B.object IS NULL OR NOT EXISTS(SELECT * FROM location C WHERE C.object = B.object AND C.timestamp > B.timestamp))

Schau mal ob das deine Erwartungen erfüllt, ich gehe davon aus, das timestamp in irgend einer form das datum oder ähnliches enthält um festzustellen, welche location aktuell ist.

Viel Erfolg!
 
Zuletzt bearbeitet:
@Kantholz: Schön zu sehen, dass es klappt! Hab gerne geholfen.

@Rossibaer: Komplizierter, langsamer und nebenbei hat er schon ne Lösung gefunden... ;)
 
Zurück
Oben