SQL语句出错(使用JOIN,LIKE和IN)

时间:2016-01-25 16:03:49

标签: sql sql-server

尝试执行此SQL语句:

SELECT B.CardType, Count(*) as TotalSales
 FROM Sales.SalesOrderHeader A
 LEFT OUTER JOIN Sales.CreditCard B
 ON A.CreditCardId=B.CreditCardId
 WHERE B.CardType like ('%Vista%') 
 IN ExpMonth=10 AND ExpYear=2006
 GROUP BY B.CardType

我收到以下错误:

  

Msg 156,Level 15,State 1,Line 6语法不正确   关键字' IN'。

有人可以解释为什么以及如何解决它?

1 个答案:

答案 0 :(得分:1)

你错过了条件运算符(AND/OR)。它应该是

WHERE B.CardType like '%Vista%'
AND ExpMonth=10
AND ExpYear=2006

您应该将这些条件移至JOIN ON子句,而不是

 LEFT OUTER JOIN Sales.CreditCard B
 ON A.CreditCardId=B.CreditCardId
 AND B.CardType like ('%Vista%') 
 WHERE A.ExpMonth=10 
 AND A.ExpYear=2006
 GROUP BY B.CardType