Ich habe eine linke Verbindung auf zwei Tabellen durchgeführt, jedoch wurden kartesische Produkte hergestellt, während dies bei anderen nicht der Fall war. Das Beispielergebnis der Abfrage ist im Bild unten zu sehen. Beitreten verursacht kartesisches Produkt
Die Abfrage aktuelle Abfrage ist:
SELECT
R.Region,
C.CountryName,
D.Year,
I.Income,
D.Completion_Rate AS 'Completion Rate',
D.Pupil_Teacher_Ratio AS 'Pupil-Teacher Ratio'
FROM
(SELECT
C.CountryCodeC AS 'CountryCode',
C.YearCC AS 'Year',
C.Completion_Rate,
R.Pupil_Teacher_Ratio
FROM
(SELECT
CountryCode AS 'CountryCodeC',
Data AS 'Completion_Rate',
YearC AS 'YearCC'
FROM
DataByYear
WHERE
SeriesCode = "SE.SEC.CMPT.LO.ZS"
AND YearC >= "2011%") C
LEFT JOIN
(SELECT
CountryCode AS 'CountryCodeR',
Data AS 'Pupil_Teacher_Ratio',
YearC AS 'YearCR'
FROM
DataByYear
WHERE
SeriesCode = "SE.SEC.ENRL.LO.TC.ZS"
AND YearC >= "2011%") R
ON C.CountryCodeC = R.CountryCodeR) D,
CountryRegion R,
Country C,
CountryIncome I
WHERE
R.CountryCode = D.CountryCode
AND R.CountryCode = C.CountryCode
AND I.CountryCode = D.CountryCode
Was ist das Problem und wie kann ich es beheben. Vielen Dank!
Beispieldaten und gewünschte Ergebnisse würden Ihnen wirklich erklären, was Sie tun möchten. Außerdem haben Sie Kommas in der 'FROM'-Klausel - das ist wirklich eine schlechte Syntax für einen Cross-Join. –
sollten Sie db Schema hinzufügen und, wenn möglich, das Bild in Text konvertieren. – McNets