SQL Server - باستخدام الاسم المستعار للعمود في مسمة فرعية
-
05-07-2019 - |
سؤال
لدي الاستعلام التالي الذي يعمل بشكل جيد مع MySQL ولكنه يرفض العمل مع SQL Server:
SELECT table1.someField AS theField,
COUNT(table2.someField) / (SELECT COUNT(someField) FROM table1 WHERE someField = theField),
FROM table1 LEFT JOIN table2 ON table1.someField = table2.someField
لا يبدو أن SQL Server مثل الاسم المستعار في الاسم الفرعي. قيل لي إنني بحاجة إلى استخدام CTE لكنني لم أستخدمها من قبل. هل هذا صحيح؟
المحلول
قد تكون المشكلة في الالتباس في السبع الفرعي
SELECT COUNT(someField) FROM table1 WHERE someField = theField
ال someField
في هذه الحالة سيكون محليًا - ولكن يمكنك الوصول إلى table1.someField
نفس الشيء.
ماذا عن
SELECT COUNT(t3.someField) FROM table1 t3 WHERE t3.someField = table1.someField
?
لا تنتمي إلى StackOverflow