簡體   English   中英

SQL Server-在子查詢中使用列別名

[英]SQL Server - Using a column alias in a subquery

我有以下查詢,該查詢在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 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM