尝试执行此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'。
有人可以解释为什么以及如何解决它?
答案 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