0

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 を使用する必要があると言われましたが、これまで使用したことがありません。これは正しいです?

4

1 に答える 1

3

問題は、サブクエリの混乱にある可能性があります

SELECT COUNT(someField) FROM table1 WHERE someField = theField

の状態はローカルになりますが、同じsomeFieldように取得できます。table1.someField

どうですか

SELECT COUNT(t3.someField) FROM table1 t3 WHERE t3.someField = table1.someField 

?

于 2009-01-07T18:18:13.827 に答える