Ich bin mit etwas fest, das ich nicht herausfinden kann, wie man es löst. Es gibt 3 Tabellen Standorte, Modelle, User_Likes. Ich möchte die beliebtesten Modelle in einigen Ländern und Städten bekommen.Linke Verbindung mit Unterabfragen, die null zurückgeben
Tabelle Locations
Loc_ID, Top_ID, Name, Perma
Tabelle Modell
Model_ID, Phone, Loc_ID
Tabelle User_Likes
Model_ID, User_ID, Date
Beispiel Daten:
Standorte:
012.351.1 | NULL | USA | usa
2 | NULL | Germany | germany
3 | 1 | New York | new-york
4 | NULL | Rusia | rusia
Modelle:
Seda | 11 | 1
Zelda | 33 | 2
Dilara | 22 | 3
User_Likes
Seda | 1 | 0
Seda | 2 | 0
Zelda | 1 | 0
Dilara | 1 | 0
Meine Suche
SELECT U.Model_ID, M.Loc_ID, M.Name, M.Top_ID, M.Perma, COUNT(*) FROM User_Likes as U
LEFT JOIN (SELECT Model.ID, Model.Loc_ID, Yer.Name, Yer.Top_ID, Yer.Perma From Model
LEFT JOIN (SELECT Locations.Loc_ID, Locations.Name, Locations.Top_ID, Locations.Perma FROM Locations WHERE Locations.Loc_ID = ? OR Locations.Top_ID = ?) as Yer ON Model.Loc_ID = Yer.Loc_ID)
as M ON M.ID = U.Model_ID
GROUP BY U.Model_ID
Ergebnisse:
? = 1
Seda | 1 | USA | NULL | usa | 2
Zelde | 3 | New York | 1 | new-york | 2
Dieser Teil ist in Ordnung, aber Problem beginnt hier über
? = 4
Seda | 1 | NULL | NULL | NULL | 2
Zelde | 3 | NULL | NULL | NULL | 2
Ergebnis hier über muss
Danke,
Bitte überprüfen Sie dies und lassen Sie mich wissen –
Es gibt so viele Probleme mit dieser Abfrage zum Beispiel gibt es keine L-Alias oder M –
es ist ein kleiner Tippfehler bitte überprüfen Sie jetzt –