2017-03-08 2 views
1
SELECT h.Id,h.Name,max(h.Stamp),u.email 
FROM schema.heating h 
inner JOIN schema.users u ON h.unique_id = u.unique_id 
where u.email= '[email protected]' 
group by h.Name 

ich diese Aussage zurückkehrt eindeutige Einträge zu machen versuchen, (Name) für den neuesten Zeitstempel basierend auf einem inneres mit einer anderen Tabelle auf unique_id beitreten, jedoch ist es nicht Den letzten Zeitstempel für jeden Eintrag mit max (Stamp) zurücksenden, hätte jemand irgendwelche Ideen, wo ich hier vielleicht falsch liege? Ich habe das schon eine Weile versucht.SQL Inner Join mit einzigartigen Einträgen basierten auf dem neuesten Zeitstempel

Antwort

1

könnten Sie wählen müssen, wo das Tupel, die das Ergebnis fo Ihre select

select * 
    from schema.heating h 
    where (h.Name, h.Stamp) in ( 
      SELECT h.Name, max(h.Stamp) 
      FROM schema.heating h 
      inner JOIN schema.users u ON h.unique_id = u.unique_id 
      where u.email= '[email protected]' 
      group by h.Name) 
+0

Hallo scaisEdge entspricht, zuerst danke off für die schnelle Antwort, ich dies nur versucht, aber es unfortuneately es funktioniert nicht in mysql sowieso – kelevra88

+0

Ich kann dies erhalten, um den letzten Eintrag in einer Tabelle mit ORDER BY Stamp DESC LIMIT 1 zurückzugeben; aber ich brauche auch den anderen Tischbeitritt eingeschlossen. Aus irgendeinem Grund funktioniert Max (Stamp) nicht auf die gleiche Weise für mich. – kelevra88

+0

Sie haben einen Fehler mit meiner Antwort? – scaisEdge