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'
);
以下SQL语句给我以下错误:error Operand type clash: date is incompatible with int
日期列B.BookingDate
和B.DepartureDate
都是数据类型date
,而不是int
,所以我不确定为什么会遇到此错误?
AND B.ContactID NOT IN ( SELECT B.DepartureDate
您正在比较ContactID
,大概是INT与DepartureDate
,大概是日期。
我认为您想要:
AND B.ContactID NOT IN
(
SELECT B.CustomerID FROM Booking B
WHERE B.DepartureDate >= '2018-04-26'
);