मेरे मूल प्रश्न कर रहा है शामिल हों बजाय कहां खंड का उपयोग कर मिलती है। मुझे एहसास हुआ कि यह उन फिल्मों को वापस नहीं कर रहा था जिनके पास कोई सितार या शैलियों का प्रदर्शन नहीं हुआ था, इसलिए मुझे लगता है कि मुझे हर फिल्म को दिखाने के लिए एक बाएं जॉइन करना है। यहां मेरा मूल एसक्यूएल है:MySQL वाम के साथ उपनाम का उपयोग कैसे करें शामिल हों
SELECT *
FROM movies m, stars s, stars_in_movies sm, genres g, genres_in_movies gm
WHERE m.id = sm.movie_id
AND sm.star_id = s.id
AND gm.genre_id = g.id
AND gm.movie_id = m.id
AND m.title LIKE '%the%'
AND s.first_name LIKE '%Ben%'
ORDER BY m.title ASC
LIMIT 5;
मैंने फिल्मों पर एक बाएं जॉइन करने की कोशिश की, मैं निश्चित रूप से कुछ गलत कर रहा हूं।
SELECT *
FROM movies m, stars s, stars_in_movies sm, genres g, genres_in_movies gm
LEFT JOIN movies m1 ON m1.id = sm.movie_id
LEFT JOIN movies m2 ON m2.id = gm.movie_id
AND sm.star_id = s.id
AND gm.genre_id = g.id
ORDER BY m.title ASC
LIMIT 5;
मैं ERROR 1054 (42S22): Unknown column 'sm.movie_id' in 'on clause'
इतनी स्पष्ट रूप से मैं गलत कर रहा हूँ में शामिल होने के लिए, मैं सिर्फ नहीं दिख रहा है कि यह क्या है।
गाहा। उचित रूप से निर्दिष्ट जॉइन के साथ आलसी 'टेबल, टेबल, टेबल' से आलसी मिश्रण को अल्ट्रा-बदसूरत है। –