#sql #sql-server
#sql #sql-сервер
Вопрос:
У меня возникла ситуация с запросом, который я создал, который содержит запрос в операторе select (я полагаю, что он называется скалярным подзапросом). КАК вы знаете, при использовании подзапроса в Select statement….at по крайней мере, единственный известный мне способ … может обрабатывать только одно возвращаемое значение.
В любом случае, я пытаюсь вернуть в подзапросе дату назначения типа, который у 99% наших клиентов есть только один раз. Однако бывают ситуации, когда у этого 1% было две или более таких встреч. Мне нужна только последняя дата. Может ли кто-нибудь помочь мне с логикой, позволяющей справляться с ситуациями с несколькими строками и получать только самую последнюю дату.
(SELECT SSUSED_1.usedate
FROM SS AS SS_1
INNER JOIN SSUSED AS SSUSED_1 ON SS_1.ssid = SSUSED_1.ssid
WHERE MEMBERS.memid = SS_1.memid AND SS_1.productid = 326 AND SSUSED_1.transactiontype = 'Use') AS SecondUsed
Комментарии:
1. Можете ли вы показать полный запрос?
Ответ №1:
Похоже, вы можете просто использовать MAX?
SELECT MAX(SSUSED_1.usedate)
FROM SS AS SS_1
INNER JOIN SSUSED AS SSUSED_1 ON SS_1.ssid = SSUSED_1.ssid
WHERE MEMBERS.memid = SS_1.memid AND SS_1.productid = 326 AND SSUSED_1.transactiontype = 'Use'