【问题标题】:Incorrect syntax in SQL query near '(''(' 附近的 SQL 查询中的语法不正确
【发布时间】:2013-03-24 22:41:36
【问题描述】:

我相信问题出在quoted price 旁边的( 附近,因为我收到Incorrect syntax near '(' 的语法错误。对此的任何帮助将不胜感激。使用 Microsoft SQL-Server Management Studio。

create view order_total as

select order_num

sum (quoted_price * num_ordered) as total_amount

from order_line;

【问题讨论】:

  • select order_num, sum...
  • 第一列后缺少逗号 (order_num)。

标签: sql sql-server syntax syntax-error


【解决方案1】:

在您的查询中,您没有用逗号分隔要返回的列。 SELECT 语句的一般语法需要它们:

create view order_total as

SELECT   order_num,
         sum (quoted_price * num_ordered) AS total_amount
FROM     order_line
GROUP BY order_num;

(停止忘记逗号的一个好方法是将它们放在行首,而不是行尾,如下所示:

SELECT column1
       ,column2
       ,etc.
FROM   table

通过将-- 放在行前,快速注释列也非常简单,不会中断查询。)

【讨论】:

  • 您还需要从选择列表中删除order_num, 或在查询中添加GROUP BY order_num。
  • 谢谢,我肯定在使用 Microsoft SQL Server Management Studio。我确实继续调整我的代码以将逗号放在正确的位置,现在收到错误消息 8120,级别 16,状态 1,过程 order_total,第 2 行列 'order_line.ORDER_NUM' 在选择列表中无效因为它既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
  • @ypercube:好点!在 order_num 上使用 GROUP BY 编辑查询。
  • 谢谢你们。我想按订单号创建视图和订单。有没有办法做到这一点,似乎选择命令必须以某种方式参与?
  • 那个逗号的作用就像一个魅力。我刚刚完成了我的最后一个代码,将它们放在查询的开头,它的 def 工作得更好。这个地方充满了提示,我应该一开始上课就到这里。再次感谢你们
猜你喜欢
  • 2014-03-15
  • 2013-12-15
  • 2017-02-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-11
  • 1970-01-01
相关资源
最近更新 更多