包含where和group by的sql语法错误

包含where和group by的sql语法错误,sql,sql-server-2008,Sql,Sql Server 2008,我在sql server 2014中编写了一个命令,该命令失败,出现以下错误 命令 错误 Msg 102,15级,状态1,第2行“,”附近的语法不正确 您应该将查询的各个部分与和以及或组合起来 select * from View_FirstReport where Date Between '1392/03/20' and '1392/03/19' AND Insure_ID = '0' AND User_ID='2' Group by insure_id

我在sql server 2014中编写了一个命令,该命令失败,出现以下错误

命令 错误 Msg 102,15级,状态1,第2行“,”附近的语法不正确


您应该将查询的各个部分与
以及
组合起来

select 
  * 
from 
  View_FirstReport 
where
  Date Between '1392/03/20' and '1392/03/19' 
  AND Insure_ID = '0' 
  AND User_ID='2'   
Group by insure_id, InsureTitle, status

您应该将查询的各个部分与
以及
组合起来

select 
  * 
from 
  View_FirstReport 
where
  Date Between '1392/03/20' and '1392/03/19' 
  AND Insure_ID = '0' 
  AND User_ID='2'   
Group by insure_id, InsureTitle, status

使用
代替

SELECT * FROM View_FirstReport
WHERE Date BETWEEN '1392/03/20' and '1392/03/19'
AND Insure_ID = 0
AND User_ID = 2
GROUP BY insure_id, InsureTitle, status

此外,整数列不需要单引号来包围值。

使用
而不是

SELECT * FROM View_FirstReport
WHERE Date BETWEEN '1392/03/20' and '1392/03/19'
AND Insure_ID = 0
AND User_ID = 2
GROUP BY insure_id, InsureTitle, status

此外,整数列不需要单引号来包围值。

WHERE
子句中的
替换为

SELECT * 
FROM View_FirstReport 
WHERE 
    Date Between '1392/03/20' AND '1392/03/19'
    AND Insure_ID = '0' AND User_ID='2'                
GROUB BY insure_id,InsureTitle,status

例如,可以找到
WHERE
的详细语法定义。

WHERE
子句中的
替换为

SELECT * 
FROM View_FirstReport 
WHERE 
    Date Between '1392/03/20' AND '1392/03/19'
    AND Insure_ID = '0' AND User_ID='2'                
GROUB BY insure_id,InsureTitle,status

例如,可以找到
的详细语法定义,其中

您应该将、替换为and运算符,并仅选择您包含在组中的记录或其他列的MIN、MAX、AVG等

SELECT insure_id, InsureTitle, status FROM View_FirstReport
 WHERE Date BETWEEN '1392/03/20' and '1392/03/19'
 AND Insure_ID = 0
 AND User_ID = 2
GROUP BY insure_id, InsureTitle, status

您应该将、替换为和运算符,并仅选择您包含在组中的记录或其他列的最小值、最大值、平均值等

SELECT insure_id, InsureTitle, status FROM View_FirstReport
 WHERE Date BETWEEN '1392/03/20' and '1392/03/19'
 AND Insure_ID = 0
 AND User_ID = 2
GROUP BY insure_id, InsureTitle, status
试着这样,

SELECT insure_id
    ,InsureTitle
    ,[STATUS]
FROM View_FirstReport
WHERE [DATE] BETWEEN '13920320'
        AND '13920319'
    AND Insure_ID = '0'
    AND [User_ID] = '2'
GROUP BY insure_id
    ,InsureTitle
    ,[STATUS]
这几乎与Sandepkumar的答案相似。

像这样尝试

SELECT insure_id
    ,InsureTitle
    ,[STATUS]
FROM View_FirstReport
WHERE [DATE] BETWEEN '13920320'
        AND '13920319'
    AND Insure_ID = '0'
    AND [User_ID] = '2'
GROUP BY insure_id
    ,InsureTitle
    ,[STATUS]

这几乎与Sandepkumar的答案相似。

如前所述,
WHERE
子句中不是有效的语法。鉴于您已更正了
WHERE
子句,我仍然认为
SELECT*
对您来说不太合适。您使用GROUP BY的原因是什么?如前所述,
WHERE
子句中不是有效的语法。鉴于您已更正了
WHERE
子句,我仍然认为
SELECT*
对您不起作用。您使用分组方式的原因是什么?