Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

बहु-भाग पहचानकर्ता SQL Server 2008 पर बाध्य नहीं किया जा सका

आपके द्वारा दिखाए गए कोड उदाहरण में दीर्घवृत्त थे और मेरा मानना ​​है कि यह वही है जो दीर्घवृत्त में है जो परेशानी पैदा कर रहा है।

आपके पास है:

SELECT R.[ID], C.[name] AS [company], ...
FROM [requests] AS R, ...
LEFT OUTER JOIN [companies] AS C
ON R.[company_id] = S.ID

मान लें कि यह कुछ ऐसा है:

SELECT R.[ID], C.[name] AS [company], X.Field
FROM [requests] AS R, [eXample] as X 
LEFT OUTER JOIN [companies] AS C
ON R.[company_id] = S.ID
WHERE X.[request_id] = R.ID

दूसरे शब्दों में एएनएसआई 92 बाहरी जॉइन सिंटैक्स के साथ प्री-एएनएसआई 92 इनर जॉइन सिंटैक्स का मिश्रण। SQL सर्वर 2005 पर परीक्षण, ऐसा प्रतीत होता है कि अनुरोधों के लिए उपनाम R उस अल्पविराम से पहले नहीं देखा गया है जो आपके उदाहरण में R को ... से अलग करता है, और [eXample] मेरे में X के रूप में। हालांकि निम्नलिखित ने काम किया:

SELECT R.[ID], C.[name] AS [company], X.Field
FROM [eXample] as X, [requests] AS R 
-- Requests and companies on the same side of the comma
LEFT OUTER JOIN [companies] AS C
ON R.[company_id] = S.ID
WHERE X.[request_id] = R.ID

या

SELECT R.[ID], C.[name] AS [company], X.Field
FROM [requests] AS R LEFT OUTER JOIN [companies] AS C
    ON R.[company_id] = S.ID, [eXample] as X 
WHERE X.[request_id] = R.ID
-- Yuck, I would hate to find this. Not at all sure from reading
-- the code how it would work.

या मेरा पसंदीदा, क्योंकि मुझे एएनएसआई 92 सिंटैक्स में शामिल होना पसंद है:

SELECT R.[ID], C.[name] AS [company], X.Field
FROM [requests] AS R
INNER JOIN [eXample] as X ON X.[request_id] = R.ID
LEFT OUTER JOIN [companies] AS C ON R.[company_id] = S.ID


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. दो डेटाबेस कॉलम को एक परिणामसेट कॉलम में संयोजित करें

  2. पहचान विशिष्टता के लिए तालिका को कैसे बदलें पहचान SQL सर्वर है

  3. पसंदीदा प्रदर्शन ट्यूनिंग ट्रिक्स

  4. मैं एक बड़े बफर को बनाए बिना SQL सर्वर BLOB में .NET ऑब्जेक्ट का एक बड़ा ग्राफ कैसे क्रमबद्ध करूं?

  5. विदेशी कुंजी बाधा चक्र या एकाधिक कैस्केड पथ का कारण बन सकती है?