'b' 附近的语法不正确,无法转换日期或时间

Incorrect Syntax near 'b' and failed to convert date or time

我有 2 个问题。

第一个收到错误消息,提示无法转换日期或时间

select a.ProductID, sum(a.Quantity) as Qty ,SUM (a.SubTotal) as Sub
from TransactionDetail a join Transactions b on a.TransactionID = b.TransactionDate
group by productID

所以我尝试如下转换日期和时间

select  a.ProductID, sum(a.Quantity) as Qty ,SUM (a.SubTotal) as Sub
from TransactionDetail a join Transactions b on a.TransactionID = (Convert(varchar(10),b.TransactionDate,101)) b.TransactionDate
group by productID

但现在我收到此错误消息:

Msg 102, Level 15, State 1, Line 3 Incorrect syntax near 'b'.

这部分:

 = (Convert(varchar(10),b.TransactionDate,101)) b.TransactionDate group by productID

是服务器抱怨的问题。

具体来说,这里是 b 错误消息指的是:

                                                v
 = (Convert(varchar(10),b.TransactionDate,101)) b.TransactionDate group by productID

您很可能插入了 新的带括号的表达式,但忘记删除之前的部分。换句话说,您可能只想删除此部分:

                                                v---------------v
 = (Convert(varchar(10),b.TransactionDate,101)) b.TransactionDate group by productID