0

今天写了这么一段sql:

SELECT COUNT(T0021_werk_naam)
FROM (SELECT Distinct T0021_werk_naam,T0021_jaar,T0021_kwartiel
    FROM T0021_offertes
    WHERE T0021_status_code = 'G' AND T0021_jaar = 2013 AND (T0021_kwartiel = 3))

当我在本地访问时,这个 sql 运行得很好,但是,当我通过已经使用了很长时间的代码运行它时,肯定不是问题,并将它发送到 SQL Express 它给出了一个错误,上面写着')' 附近有问题
在去掉所有可能的括号后,很明显它检测到最后一个 ')' 有问题,但我没有看到问题。

有任何想法吗?

4

1 回答 1

4

您需要为括号中的选择提供别名:

SELECT COUNT(T0021_werk_naam)
FROM   (
           SELECT Distinct T0021_werk_naam,
                  T0021_jaar,
                  T0021_kwartiel
           FROM   T0021_offertes
           WHERE  T0021_status_code = 'G' 
                  AND T0021_jaar = 2013 
                  AND (T0021_kwartiel = 3)
       ) T

注意最后一个括号后面的 T。

于 2013-08-28T12:26:31.210 回答