创建一个多和SQL语句
问题描述:
我想创建一个SQL语句,其中涉及总计两个日期之间的成本字段和客户ID是一个特定的值。我的发言目前看起来是这样的:创建一个多和SQL语句
SELECT SUM(COST) AS TotalCost
FROM ORDERS
WHERE (DATE BETWEEN '01/01/2012' AND '09/25/2015')
AND WHERE CUSTOMERID = '23'
然而,当我跑这里面说,我得到一个错误:
java.sql.SQLSyntaxErrorException: Syntax error: Encountered "WHERE" at line 1, column 98.
我知道,这是在我的发言中有语法错误,但我不确定它应该如何被写入防止这种情况发生
答
离开了第二WHERE
WHERE (DATE BETWEEN '01/01/2012' AND '09/25/2015') AND CUSTOMERID='23'
答
这个版本应该工作;额外的where子句,我假设你的customerid是一个整数,而不是一个字符串。
SELECT SUM(COST) AS TotalCost
FROM ORDERS
WHERE (
DATE BETWEEN convert(datetime, '01/01/2012') AND convert(datetime, '09/25/2015')
)
AND CUSTOMERID = 23
当我尝试,我得到这个错误,而不是 java.sql.SQLSyntaxErrorException: 'INTEGER' 和 'CHAR(UCS_BASIC)' 之间的比较不被支持。 – 2015-04-03 19:56:25
什么类型的字段是CUSTOMERID?如果一个整数,那么你的语句将是AND CUSTOMERID = 23 – 2015-04-03 19:58:00
它是一个int,并且已经解决了这个问题,但现在我有一个不同的错误,说CUSTOMERID列不存在,即使它不存在 – 2015-04-03 19:59:43