Я нашла здесь много чего, но мне ничего не помогло. Я могу удалить метку времени, но не могу удалить ее, когда использую 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
Это отлично работает, и это то, чего я ожидаю, но во всех датах есть метка времени, и я просто хочу удалить эту метку времени
@brithwulf Непонятно, на что вы претендуете, вы должны предоставить образец данных в КРЕДИТАХ и СТРАХОВАНИИ и показать, какой результат вы хотите получить от этих данных.





В чем проблема с этим запросом?
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
Вы должны иметь возможность удалить временную часть каждого возвращаемого поля с помощью функции преобразования. Неважно, возвращаются поля из основной таблицы или из присоединенных таблиц.
Неоднозначное имя столбца «END_DATE», это ошибка, которую я получаю.
Тогда у вас есть столбцы END_DATE более чем в одной таблице, вам нужно использовать их псевдонимы, чтобы различать их. Я обновил ответ, чтобы показать те END_DATE с псевдонимами.
Вы не указали LO_ID какой таблицы вы хотите в поле выбора.