Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL-Problem:LEFT JOIN bei leerer Tabelle

Da Sie Ihr tatsächliches SQL nicht gepostet haben, mache ich hier nur eine Annahme. Meine Erfahrung sagt mir, dass Sie möglicherweise eine Where-Klausel haben, die dazu führt, dass SQL eine leere Menge zurückgibt.

SELECT X.a1, X.a2, Y.b1, Y.b2 FROM X LEFT JOIN Y ON (X.a1 = Y.b1)
WHERE Y.b3 = 'something'

Das obige SQL gibt eine leere Ergebnismenge zurück. Möglicherweise müssen Sie Ihre SQL in das folgende Format ändern, indem Sie die problematische where-Klausel in die LEFT JOIN ON-Klausel bringen.

SELECT X.a1, X.a2, Y.b1, Y.b2 FROM X 
LEFT JOIN Y ON (X.a1 = Y.b1 and Y.b3 = 'something')