У меня есть следующий запрос:
SELECT
a.datoA AS datoUno,
a.datoB AS datoDos,
a.datoC as datoTres,
sv.fecha AS fechaUno,
FROM
tableUno a
INNER JOIN tableDos sv ON
sv.datoId = a.datoId
WHERE
a.STATUS = 1
GROUP BY
a.datoA,
a.datoB,
a.datoC,
sv.fecha
ORDER BY
to_number(a.datoA) WITH ur
Он выбрасывает меня:
datoUno | datoDos |datoTres| fechaUno
------------|------------------|------- |--------------------------
4 |1177525 | 2|2017-05-06-13.50.00.000000
4 |1177525 | 2|2017-05-08-05.48.00.000000
4 |1177525 | 2|2017-05-08-14.45.00.000000
5 |1177526 | 2|2017-05-08-14.45.00.000000
Я хочу, чтобы он не повторял мне данные, то есть он показывает мне только запись DatoUno в этом случае он показывает мне больше одного по датам, я хочу, чтобы он принимал только самую последнюю дату.
То есть:
datoUno | datoDos |datoTres| fechaUno
------------|------------------|------- |--------------------------
4 |1177525 | 2|2017-05-08-14.45.00.000000
5 |1177526 | 2|2017-05-08-14.45.00.000000
Я попробовал DISTINCT для данных, но у меня это не сработало. Даты, которые я знаю, я должен выполнить заказ, но я не знаю, как я мог бы это сделать.
Если бы вы могли мне помочь.
Podr¦-схвати брать decisi¦n, 2, 3 и 4 использовать колонны с одним MAX
или MIN
и группировать только из-за колонны 1.
SELECT
a.datoA AS datoUno,
MAX(a.datoB AS datoDos),
MAX(a.datoC as datoTres),
MAX(sv.fecha AS fechaUno)
FROM
tableUno a
INNER JOIN tableDos sv ON
sv.datoId = a.datoId
WHERE
a.STATUS = 1
GROUP BY
a.datoA
ORDER BY
to_number(a.datoA) WITH ur
Отдельно обрати внимание, что перед FROM
тебе хватает одной ,
Podr¦-схвати делать что-то как:
SELECT
a.datoA AS datoUno,
a.datoB AS datoDos,
a.datoC as datoTres,
sv.fecha AS fechaUno
FROM
tableUno a
INNER JOIN (
SELECT datoId, max(fecha)
FROM tableDos
GROUP BY datoID) sv
ON
sv.datoId = a.datoId
WHERE
a.STATUS = 1