Vicente Turner:
Escribió una consulta devuelve el registro más reciente actualización para cada elemento de cada día, en otras palabras, artículo 444222 recibe 12 registros cada día y la consulta tira la más actualizada. A veces los registros se insertan el día anterior, de, y después. Cuando la consulta se ejecuta en el banco de trabajo, consigo el valor correcto, pero en Excel PowerQuery devuelve el registro más antiguo. ¿Hay un error de codificación de mi parte, o es algo más? Cualquier ayuda con esto sería apreciada. tipo_registro: varchar, fecha: fecha, item_number: int, cycle_id: int, scheduled_cap: int, insert_date: marca de tiempo.
Consulta conectada a continuación.
Select record_type, date, item_number, cycle_id, scheduled_cap, max(insert_date)
from db.all_cycles
Where date >= '2016-01-01'
AND record_tyoe = 'I'
AND cycle_id NOT IN (40, 38, 39, 41, 53, 185)
AND item_number IN ('94850', '94858', '452917')
group by item_number, date, record_type
order by date desc;
Gordon Linoff:
Usted debe utilizar el filtrado de no agregación :
select ac.*
from db.all_cycles ac
where ac.date >= '2016-01-01' and
ac.record_tyoe = 'I' and
ac.cycle_id not in (40, 38, 39, 41, 53, 185) and
ac.item_number in ('94850', '94858', '452917') and
ac.insert_date = (select max(ac2.insert_date)
from db.all_cycles ac2
where ac2.date = ac.date and
ac2.item_number = ac.item_number and
ac2.record_tyoe = ac.record_type
)
order by date desc;