访问接受的 SQL,但 SQL Server Express 拒绝
Posted
技术标签:
【中文标题】访问接受的 SQL,但 SQL Server Express 拒绝【英文标题】:SQL that access accepts, but SQL Server Express rejects 【发布时间】:2013-08-28 12:25:22 【问题描述】:今天我写了这段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 它给出了一个错误提示')'附近有问题 在去掉所有可能的括号后,很明显它检测到最后一个 ')' 存在问题,但我没有看到问题。
有什么想法吗?
【问题讨论】:
我所知道的是,在 mysql 中,所有派生表都需要别名。因此,您可以在查询末尾添加任何字符作为子查询(派生表)的别名。虽然如果是这样的话,那么 SQL Express 确实会给出糟糕的错误消息:) 【参考方案1】:您需要为括号中的选择提供别名:
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。
【讨论】:
现在我觉得很傻 XD 非常感谢! SQL 有时让我很困惑,尤其是语法上的细微差别! 顺便说一句,我以为你通过AS T
给了别名,但 T 就足够了吗?
是的,是一样的。
好吧,好吧,太好了! :D 我会在 5 分钟内排除你的答案,该网站告诉我等待 :\以上是关于访问接受的 SQL,但 SQL Server Express 拒绝的主要内容,如果未能解决你的问题,请参考以下文章