मैंने SO पर समान त्रुटियाँ देखी हैं, लेकिन मुझे अपनी समस्या का हल नहीं मिला। मेरे पास एक SQL क्वेरी है:
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;
जब मैं इस क्वेरी को निष्पादित करता हूं, तो त्रुटि परिणाम होता है:
बहु-भाग पहचानकर्ता "a.maxa" बाध्य नहीं हो सकता है। क्यों?
P / s: यदि मैं क्वेरी को 2 अलग-अलग क्वेरी में विभाजित करता हूं, तो यह ठीक है।
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;
तथा
SELECT maxa ,
COUNT(*) AS tong
FROM khaosat
WHERE CONVERT(DATETIME, ngaylap, 103) BETWEEN 'Sep 1 2011'
AND 'Sep 5 2011'
GROUP BY maxa;
phuongxaतालिका में एक कॉलम शामिल हैmaxa?