2017-06-07 2 views
2

Ich habe zwei Tabellen in einer mySQL Datenbank:Spalten für gestern und heute in mySQL Joining

Preise:

Date   Security Price 
2017-06-06 A   3.1 
2017-06-06 B   4.1 
2017-06-06 C   5.1 
2017-06-05 A   3 
2017-06-05 B   4 
2017-06-05 C   5 
... more prices 

Trades:

Date   Security Description 
2017-06-06 A   adesc 
2017-06-06 B   bdesc 
2017-06-06 C   cdesc 
... more trades 

Ich werde wie ein Blick auf erstellen, die 2 weitere Spalten zu der aktuellen Trades Tabelle hinzufügt, basierend auf dem heutigen Datum und dem Datum davor. Zum Beispiel, wenn die heutige Datum 2017-06-06 ist, dann ist der Ausgang ich suche wird:

Trades:

Date   Security Description Price(Today) Price(Yesterday) 
2017-06-06 A   adesc   3.1   3 
2017-06-06 B   bdesc   4.1   4 
2017-06-06 C   cdesc   5.1   5 
... more trades 

Ich weiß, dass ich links am Tag join Basis tun kann, bekommt einen von die Säulen (dh SELECT * FROM Trades LEFT JOIN Prices ON Prices.Date=DATE(NOW()), aber ist es möglich, die Syntax zu erweitern für multple Spalten zu ermöglichen, in dem Beispiel hinzugefügt werden, wie gezeigt

Jede Hilfe wird sehr geschätzt

+1

Ja. Ein weiterer LINKER JOIN ist alles was du brauchst – Strawberry

+0

Hallo @Strawberry, ich habe vergessen zu erwähnen, aber ich bekam einen 'Nicht eindeutigen table/alias' Fehler, wenn ich das versuchte –

+1

Gib jeder Instanz einen anderen Alias:' LINKE VERBINDUNG my_table AS gestern' – Strawberry

Antwort

3

Ja, geben diesem einen Versuch:?!

LEFT JOIN Prices AS TodaysPrices ON Prices.Date=CURDATE() 
LEFT JOIN Prices AS YesterdaysPrices ON Prices.Date=SUBDATE(CURDATE(), 1) 
+1

Vielen Dank! –

Verwandte Themen