mixmastertobsi: MySQL Subquery

Beitrag lesen

OK, das Beispiel war wohl etwas zu "einfach", damit Ihr nachvollziehen könnt, was ich meine.

Zusammengefasst möchte ich erreichen, dass ich die Subquery nicht nochmals abfragen muss, sondern den Wert von Select bereits verwenden kann.

Wenn ich die Query so abfrage, bekomme ich einen Fehler, weil er "lastdate" nicht kennt.

SELECT (SELECT date FROM history WHERE history.artikel=artikel.id LIMIT 1) as lastdate, DATEDIFF(lastdate,'2017-06-21') FROM artikel WHERE id='10'

Nun könnte ich natürlich auch es wie folgt schreiben, habe aber zwei mal die selbe Abfrage, was auch wenig Sinn macht. Ich muss das hier als Subquery umsetzen, da ich in der Abfrage noch eine SUM-Funktion für eine andere Tabelle verwende und es dann mit der Summe nicht passen würde.

SELECT (SELECT date FROM history WHERE history.artikel=artikel.id LIMIT 1) as lastdate, DATEDIFF((SELECT date FROM history WHERE history.artikel=artikel.id LIMIT 1),'2017-06-21') FROM artikel WHERE id='10'