
Ayuda novata
Publicado por Esperanza (11 intervenciones) el 22/07/2013 17:42:26
Tengo un problema con un codigo de una vista de sql 2008, este codigo me muestra las ultimas ventas de articulos por lotes, el problema es que un articulo tiene varios lotes por lo que el codigo me muestras varias fechas de venta y yo solo necesito que me arroje la fecha mas reciente del articulo es decir que si tiene 5 lotes me muestre el de la fecha mas reciente, no se si me explico, adjunto el codigo por si pueden ayudarme se los agradecere.
SELECT TOP (100) PERCENT dbo.gbkmut.artcode, MAX(dbo.gbkmut.datum) AS LastMove, GETDATE() AS DateNow, DATEDIFF(DAY, MAX(dbo.gbkmut.datum), GETDATE())
AS DayLastMoveUntilNow, dbo.gbkmut.aantal, dbo.gbkmut.docnumber
FROM dbo.gbkmut WITH (NOLOCK) INNER JOIN
dbo.grtbk WITH (NOLOCK) ON dbo.grtbk.reknr = dbo.gbkmut.reknr LEFT OUTER JOIN
dbo.humres AS SM WITH (NOLOCK) ON SM.res_id = dbo.gbkmut.sysmodifier LEFT OUTER JOIN
dbo.humres AS SC WITH (NOLOCK) ON SC.res_id = dbo.gbkmut.syscreator LEFT OUTER JOIN
dbo.cicmpy WITH (NOLOCK) ON dbo.cicmpy.debnr = dbo.gbkmut.debnr AND dbo.cicmpy.debnr IS NOT NULL AND dbo.gbkmut.debnr IS NOT NULL LEFT OUTER JOIN
dbo.cicmpy AS c1 WITH (NOLOCK) ON c1.crdnr = dbo.gbkmut.crdnr AND c1.crdnr IS NOT NULL AND dbo.gbkmut.crdnr IS NOT NULL LEFT OUTER JOIN
dbo.humres WITH (NOLOCK) ON dbo.gbkmut.res_id = dbo.humres.res_id LEFT OUTER JOIN
dbo.cicmpy AS c3 WITH (NOLOCK) ON dbo.gbkmut.orderdebtor = c3.cmp_wwn AND dbo.gbkmut.orderdebtor IS NOT NULL AND c3.cmp_wwn IS NOT NULL
LEFT OUTER JOIN
dbo.magaz WITH (NOLOCK) ON dbo.magaz.magcode = dbo.gbkmut.warehouse AND dbo.magaz.magcode IS NOT NULL AND dbo.gbkmut.warehouse IS NOT NULL
LEFT OUTER JOIN
dbo.Items WITH (NOLOCK) ON dbo.Items.ItemCode = dbo.gbkmut.artcode AND dbo.Items.ItemCode IS NOT NULL AND dbo.gbkmut.artcode IS NOT NULL
LEFT OUTER JOIN
dbo.kstpl WITH (NOLOCK) ON dbo.gbkmut.kstplcode = dbo.kstpl.kstplcode AND dbo.gbkmut.kstplcode IS NOT NULL AND dbo.kstpl.kstplcode IS NOT NULL
LEFT OUTER JOIN
dbo.kstdr WITH (NOLOCK) ON dbo.gbkmut.kstdrcode = dbo.kstdr.kstdrcode AND dbo.gbkmut.kstdrcode IS NOT NULL AND dbo.kstdr.kstdrcode IS NOT NULL
WHERE (dbo.gbkmut.transtype IN ('N', 'C', 'P', 'F')) AND (dbo.gbkmut.transsubtype = 'B') AND (dbo.grtbk.bal_vw IN ('W')) AND (dbo.gbkmut.ReminderCount <= 15)
GROUP BY dbo.gbkmut.artcode, dbo.gbkmut.aantal, dbo.gbkmut.docnumber, dbo.grtbk.bal_vw
SELECT TOP (100) PERCENT dbo.gbkmut.artcode, MAX(dbo.gbkmut.datum) AS LastMove, GETDATE() AS DateNow, DATEDIFF(DAY, MAX(dbo.gbkmut.datum), GETDATE())
AS DayLastMoveUntilNow, dbo.gbkmut.aantal, dbo.gbkmut.docnumber
FROM dbo.gbkmut WITH (NOLOCK) INNER JOIN
dbo.grtbk WITH (NOLOCK) ON dbo.grtbk.reknr = dbo.gbkmut.reknr LEFT OUTER JOIN
dbo.humres AS SM WITH (NOLOCK) ON SM.res_id = dbo.gbkmut.sysmodifier LEFT OUTER JOIN
dbo.humres AS SC WITH (NOLOCK) ON SC.res_id = dbo.gbkmut.syscreator LEFT OUTER JOIN
dbo.cicmpy WITH (NOLOCK) ON dbo.cicmpy.debnr = dbo.gbkmut.debnr AND dbo.cicmpy.debnr IS NOT NULL AND dbo.gbkmut.debnr IS NOT NULL LEFT OUTER JOIN
dbo.cicmpy AS c1 WITH (NOLOCK) ON c1.crdnr = dbo.gbkmut.crdnr AND c1.crdnr IS NOT NULL AND dbo.gbkmut.crdnr IS NOT NULL LEFT OUTER JOIN
dbo.humres WITH (NOLOCK) ON dbo.gbkmut.res_id = dbo.humres.res_id LEFT OUTER JOIN
dbo.cicmpy AS c3 WITH (NOLOCK) ON dbo.gbkmut.orderdebtor = c3.cmp_wwn AND dbo.gbkmut.orderdebtor IS NOT NULL AND c3.cmp_wwn IS NOT NULL
LEFT OUTER JOIN
dbo.magaz WITH (NOLOCK) ON dbo.magaz.magcode = dbo.gbkmut.warehouse AND dbo.magaz.magcode IS NOT NULL AND dbo.gbkmut.warehouse IS NOT NULL
LEFT OUTER JOIN
dbo.Items WITH (NOLOCK) ON dbo.Items.ItemCode = dbo.gbkmut.artcode AND dbo.Items.ItemCode IS NOT NULL AND dbo.gbkmut.artcode IS NOT NULL
LEFT OUTER JOIN
dbo.kstpl WITH (NOLOCK) ON dbo.gbkmut.kstplcode = dbo.kstpl.kstplcode AND dbo.gbkmut.kstplcode IS NOT NULL AND dbo.kstpl.kstplcode IS NOT NULL
LEFT OUTER JOIN
dbo.kstdr WITH (NOLOCK) ON dbo.gbkmut.kstdrcode = dbo.kstdr.kstdrcode AND dbo.gbkmut.kstdrcode IS NOT NULL AND dbo.kstdr.kstdrcode IS NOT NULL
WHERE (dbo.gbkmut.transtype IN ('N', 'C', 'P', 'F')) AND (dbo.gbkmut.transsubtype = 'B') AND (dbo.grtbk.bal_vw IN ('W')) AND (dbo.gbkmut.ReminderCount <= 15)
GROUP BY dbo.gbkmut.artcode, dbo.gbkmut.aantal, dbo.gbkmut.docnumber, dbo.grtbk.bal_vw
Valora esta pregunta


0