Удаление метки времени из даты с помощью INNERJOIN в SQL Server - PullRequest
0 голосов
/ 20 марта 2019

Я нашел здесь много вещей, но мне ничего не помогло.Я могу удалить метку времени, но не могу удалить ее, когда использую INNER JOIN.Я перепробовал много вещей, но это не работает.

Вот что я пытаюсь сделать:

SELECT 
    CAST(CURRENT_TIMESTAMP as DATE) "END_DATE", LO_ID 
FROM 
    dbo.LO as L 
INNER JOIN 
    dbo.IL as I ON L.LO_ID = I.LO_ID
INNER JOIN 
    dbo.PO as P ON P.LO_ID = I.LO_ID
INNER JOIN 
    dbo.CO as C ON P.CO_ID = C.ID 
WHERE 
    P.LO = 7

Я получаю ошибку при LO_ID.Как я могу удалить метку времени при использовании INNER JOIN?

Я также попробовал метод CONVERT вместо CAST.

PS: Вот результат, который я хочу получить:

SELECT * FROM loan.LOANS as L 
INNER JOIN insurance.INSURANCES as I ON L.LOAN_ID = I.LOAN_ID 
INNER JOIN insurance.POLICIES as P ON P.LOAN_ID = I.LOAN_ID 
INNER JOIN insurance.COMPANIES as C ON P.COMPANY_ID = C.ID WHERE P.LOAN_ID = 7

Это прекрасно работаети это то, что я ожидаю, но во всех Дата имеет метку времени, и я просто хочу удалить эту метку времени

enter image description here

1 Ответ

0 голосов
/ 20 марта 2019

В чем проблема с этим запросом?

SELECT CONVERT(date, [L.END_DATE]) as LOAN_END_DATE, 
       CONVERT(date, [I.END_DATE]) as INSURANCE_END_DATE, 
       L.LOAN_ID 
FROM loan.LOANS as L 
     INNER JOIN insurance.INSURANCES as I ON L.LOAN_ID = I.LOAN_ID 
     INNER JOIN insurance.POLICIES as P ON P.LOAN_ID = I.LOAN_ID 
     INNER JOIN insurance.COMPANIES as C ON P.COMPANY_ID = C.ID WHERE P.LOAN_ID = 7

Вы должны иметь возможность удалять временную часть каждого возвращаемого поля с помощью функции convert.Не имеет значения, возвращаются ли поля из основной таблицы или из соединенных таблиц.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...