Tsql 操作数类型冲突:日期与子查询中的int/NOT不兼容
下面的SQL语句给了我以下错误:Tsql 操作数类型冲突:日期与子查询中的int/NOT不兼容,tsql,Tsql,下面的SQL语句给了我以下错误:error操作数类型冲突:date与int不兼容 日期列B.BookingDate和B.DepartureDate都是数据类型date,而不是int,因此我不确定为什么会出现此错误 和B.联系人ID不在(选择B.离开日期 您正在比较ContactID,可能是一个int,而DepartureDate,可能是一个日期 我想你想要: SELECT Br.BusinessDivision,B.BookingDate, B.DepartureDate, B.Customer
error操作数类型冲突:date与int不兼容
日期列
B.BookingDate
和B.DepartureDate
都是数据类型date
,而不是int
,因此我不确定为什么会出现此错误 和B.联系人ID不在(选择B.离开日期
您正在比较ContactID
,可能是一个int,而DepartureDate
,可能是一个日期
我想你想要:
SELECT Br.BusinessDivision,B.BookingDate, B.DepartureDate, B.CustomerID, C.FirstName, C.SurName
FROM Booking B
INNER JOIN Customer C
ON C.ContactID = B.ContactID
INNER JOIN Branch Br
ON Br.BranchID = B.BranchID
WHERE B.BookingDate
BETWEEN '2015-04-01' AND '2018-04-26'
AND Br.BusinessDivision IN ( 'Retail', 'TVSales' )
AND B.ContactID NOT IN (
SELECT B.DepartureDate FROM Booking B WHERE B.DepartureDate >= '2018-04-26'
);
我知道我哪里出错了,是的!将
ContactID
与完全错误的列(doh)进行比较。有一个类似的DepartureDate
列,类型为int
,而不是date
。谢谢!
AND B.ContactID NOT IN
(
SELECT B.CustomerID FROM Booking B
WHERE B.DepartureDate >= '2018-04-26'
);