Die mehrteilige Kennung konnte nicht gebunden werden

Ich habe gesehen, ähnliche Fehler auf, aber ich nicht finden, eine Lösung für mein problem.
Ich habe eine SQL-Abfrage wie:

SELECT DISTINCT
        a.maxa ,
        b.mahuyen ,
        a.tenxa ,
        b.tenhuyen ,
        ISNULL(dkcd.tong, 0) AS tongdkcd
FROM    phuongxa a ,
        quanhuyen b
        LEFT OUTER JOIN ( SELECT    maxa ,
                                    COUNT(*) AS tong
                          FROM      khaosat
                          WHERE     CONVERT(DATETIME, ngaylap, 103) BETWEEN 'Sep 1 2011'
                                                              AND
                                                              'Sep 5 2011'
                          GROUP BY  maxa
                        ) AS dkcd ON dkcd.maxa = a.maxa
WHERE   a.maxa <> '99'
        AND LEFT(a.maxa, 2) = b.mahuyen
ORDER BY maxa;

Wenn ich diese Abfrage ausführen, Sie die Fehlermeldung, Ergebnis ist:
Die multi-part identifier "ein.maxa" konnte nicht gebunden werden. Warum?

P/s: wenn ich unterteilen Sie die Abfrage in 2 einzelne Abfrage, die Sie ausführen, ok.

SELECT DISTINCT
        a.maxa ,
        b.mahuyen ,
        a.tenxa ,
        b.tenhuyen
FROM    phuongxa a ,
        quanhuyen b
WHERE   a.maxa <> '99'
        AND LEFT(a.maxa, 2) = b.mahuyen
ORDER BY maxa;

und

SELECT  maxa ,
        COUNT(*) AS tong
FROM    khaosat
WHERE   CONVERT(DATETIME, ngaylap, 103) BETWEEN 'Sep 1 2011'
                                        AND     'Sep 5 2011'
GROUP BY maxa;

InformationsquelleAutor der Frage PhamMinh | 2011-09-06

Schreibe einen Kommentar