SQL Server-サブクエリで列エイリアスを使用する
-
05-07-2019 - |
質問
次のクエリは、MySQLでは正常に動作しますが、SQLサーバーでは動作しません。
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を使用する必要があると言われましたが、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