Access - Consulta SQL

 
Vista:

Consulta SQL

Publicado por jsilva (1 intervención) el 23/06/2004 00:04:36
Amigos foreros:

Despues de mucho tiempo, me reincorporo a los foros (antes aparecia como [email protected]).
Tengo una consulta con los siguientes datos:

DATEGENERATED ITEMNUM VENDORID UNITCOST
02/04/2004 14-010-000054E 001881 $ 0.21
02/04/2004 14-010-002007L 001881 $ 1.66
02/04/2004 14-010-002015L 001881 $ 0.12
03/04/2004 14-010-002015L 001881 $ 0.15

...

Lo que necesito es, para cada ITEMNUM, buscar el siguiente y, si UNITCOST es mayor a un 5% del valor del anterior, lo mande a la consulta...

... seria una cosa asi:

ITEMNUM DATE1 VENDOR1 COST1 DATE2 VENDOR2 COST2 PORC
14-010-002015L 02/04/2004 001881 $ 0.12 03/04/2004 001881 $ 0.15 25.00%

...

Es posible hacerlo mediante una subconsulta? O tengo que generar el codigo correspondiente?Espero haberme hecho entender. Gracias desde ahora.

Julio.

"Para triunfar, el mero planteamiento inicial no basta. También hay que improvisar."
(Salvor Hardin)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Consulta SQL

Publicado por Alejandro (4142 intervenciones) el 08/05/2023 19:52:01
Hola, Julio.

Para obtener el resultado que deseas, puedes utilizar una consulta SQL en Access. A continuación, te muestro un ejemplo de cómo podrías construir la consulta:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
SELECT
    t1.ITEMNUM AS ITEMNUM,
    t1.DATEGENERATED AS DATE1,
    t1.VENDORID AS VENDOR1,
    t1.UNITCOST AS COST1,
    t2.DATEGENERATED AS DATE2,
    t2.VENDORID AS VENDOR2,
    t2.UNITCOST AS COST2,
    ((t2.UNITCOST - t1.UNITCOST) / t1.UNITCOST) * 100 AS PORC
FROM
    TuTabla AS t1
    INNER JOIN TuTabla AS t2 ON t2.ITEMNUM = t1.ITEMNUM
WHERE
    t2.DATEGENERATED > t1.DATEGENERATED
    AND ((t2.UNITCOST - t1.UNITCOST) / t1.UNITCOST) * 100 > 5

Asegúrate de reemplazar "TuTabla" con el nombre real de tu tabla que contiene los datos.

Esta consulta utiliza una combinación de una auto-join y una condición de filtro para obtener los registros donde el UNITCOST del siguiente ITEMNUM es mayor a un 5% del UNITCOST del ITEMNUM anterior. Luego, calcula el porcentaje de diferencia entre los COST1 y COST2.

Espero que esto te ayude.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar