Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL Server-在子查询中使用列别名_Sql_Sql Server_Nested - Fatal编程技术网

SQL Server-在子查询中使用列别名

SQL Server-在子查询中使用列别名,sql,sql-server,nested,Sql,Sql Server,Nested,我有以下查询,它可以与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

我有以下查询,它可以与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
将是本地的-但您可以访问表1。someField也一样

怎么样

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

问题很可能在于子查询中的混乱

SELECT COUNT(someField) FROM table1 WHERE someField = theField
条件中的
someField
将是本地的-但您可以访问表1。someField也一样

怎么样

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