ich folgende Stackoverflow Post verwendet haben, um zu versuchen und einen Datensatz mit den jeweils neuesten Termin zu erhalten: Select info from table where row has max dateUnbekannte Spalte, wenn Tabellen verknüpft und mit einer Unterabfrage
ich die folgende Abfrage geschrieben:
SELECT AR_SQ.SYMBOL, AR_SQ.NAME, AR_SQ.LAST, FF_PS.SECTOR, FF_PS.SECTOR_TAGS, HP.LAST_10_DAYS, HP.YTD_PERF
FROM AR_STOCK_QUOTE AR_SQ
LEFT JOIN (
SELECT HP.SYMBOL, max(TRADE_DATE) as MaxDate
FROM FF_HISTORICAL_STOCK_PRICE HP
GROUP BY HP.SYMBOL
)
HP on HP.SYMBOL = AR_SQ.SYMBOL
JOIN FF_PRIMARY_STOCK_TABLE FF_PS on FF_PS.SYMBOL = AR_SQ.SYMBOL
Als ich dies aber tun, erhalte ich eine Fehlermeldung, die folgenden:
Fehlercode: 1054 Unknown column ‚HP.LAST_10_DAYS‘ in ‚field list‘
Warum sollte dies der Fall sein, da HP definiert ist und ein Feld in dieser Tabelle ist?
Wie würde ich das richtig dann auf die Werte in dieser Tabelle zugreifen? – user1048676
Ich versuche immer, verschiedene Aliase für Werte innerhalb einer SELECT-Anweisung und beim JOINing der SELECT-Anweisung aus genau diesem Grund zu verwenden. SQL-Abfragen sind bereits verwirrend genug. – RIanGillis
Sie müssen die Spalte LAST_10_DAYS einbeziehen, wenn Sie die SELECT-Anweisung innerhalb des LINKEN JOIN ausführen (und auch in die GROUP BY einbeziehen oder in einer Aggregatfunktion verwenden). – RIanGillis