Столкновение с типом операнда: дата несовместима с подзапросом int / NOT IN - PullRequest
0 голосов
/ 26 апреля 2018
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, поэтому я не уверен, почему я получаю эту ошибку?

1 Ответ

0 голосов
/ 26 апреля 2018

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'
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...