Argel Gastélum Arellánez escribió:
Hola a todos, buenas tardes.
Tengo una tabla en una base de datos que hice en OOo Base 3.0, con
los campos "Clave_LEVV" (no es llave primaria, y tiene datos que
pueden repetirse para registros diferentes) y "Seguimiento" (que puede
tomar valores de 1, 2 y 3), entre otros campos.
Necesito hacer una consulta a dicha tabla, de forma que filtre los
registros sólo para los valores de "1" y "2" en el campo
"Seguimiento", lo cual puedo hacer fácilmene desde la vista de diseño
de Consulta. De esta forma obtengo una lista parecida a esta:
Clave LEVV Seguimiento
0001A 1
0001A 2
0001B 1
0001B 2
0001C 1
0001D 1
Sin embargo, me gustaría filtrar además por aquellos registros que
están duplicados en su campo "Clave_LEVV", de forma que sólo me
muestre algo como esto:
Clave LEVV Seguimiento
0001A 1
0001A 2
0001B 1
0001B 2
¿Es posible? Seguramente se trata de algo muy sencillo pero no he
encontrado la forma de hacerlo.
De antemano muchas gracias por la ayuda.
Saludos y buen fin de semana.
--
Argel.
Hola de nuevo. Bueno, pues buscando en internet encontré una
solución a mi problema. Lo que hice fue lo siguiente:
1. Para obtener una lista de los registros filtrados por el campo
"Seguimiento" cuando toma valores de "1" y "2", usé la siguiente
consulta (la hice mediante la vista diseño para agregar otros campos que
me interesaba tener para cada registro, y filtrar al mismo tiempo por
otro campo llamado "Procesada_A", cuando toma valores de "falso", y por
otro campo llamado "Clave_Proyecto", cuando toma el valor "P1-MPM"):
SELECT "T - Lista de Muestras"."Clave_LEVV" AS "Clave LEVV", "T - Lista
de Muestras"."Seguimiento" AS "Seguimiento", "T - Lista de
Muestras"."Clave_Cliente" AS "Clave Cliente", "T - Congelador A (-20
°C)"."Procesada_A" AS "Procesada", "T - Congelador A (-20
°C)"."Canastilla_A" AS "Canastilla", "T - Congelador A (-20
°C)"."Caja_A" AS "Caja", "T - Congelador A (-20 °C)"."Posicion_A" AS
"Posición", "T - Congelador A (-20 °C)"."Etiqueta_caja_A" AS "Etiqueta
de la caja" FROM "T - Congelador A (-20 °C)" AS "T - Congelador A (-20
°C)", "T - Lista de Muestras" AS "T - Lista de Muestras", "T - Lista de
Proyectos" AS "T - Lista de Proyectos" WHERE ( "T - Lista de
Muestras"."Seguimiento" = '1' AND "T - Congelador A (-20
°C)"."Procesada_A" = False AND "T - Lista de Muestras"."Proyecto" = "T -
Lista de Proyectos"."ID_Proyecto" AND "T - Congelador A (-20
°C)"."Muestra" = "T - Lista de Muestras"."ID_Muestra" AND "T - Lista de
Proyectos"."Clave_Proyecto" = 'P1-MPM' OR "T - Lista de
Muestras"."Seguimiento" = '2' AND "T - Congelador A (-20
°C)"."Procesada_A" = False AND "T - Lista de Muestras"."Proyecto" = "T -
Lista de Proyectos"."ID_Proyecto" AND "T - Congelador A (-20
°C)"."Muestra" = "T - Lista de Muestras"."ID_Muestra" ) ORDER BY "Clave
LEVV" ASC, "Seguimiento" ASC
2. Después hice una "vista" de esta consulta, a la que llamé "P1-MPM
<V04> Lista de Alícuotas-A de seg 1 y 2, no procesadas".
3. De la vista hecha en el paso 2, hice otra consulta, esta vez
directamente en SQL (observé que al tratar de cambiar a la vista diseño
para ver cómo se tendría que hacer desde ahí, al tratar de ejecutar la
consulta me manda el mensaje de error de que la instrucción SQL es
incorrecta en su sintaxis, pero al guardarla y ejecutarla desde la vista
SQL funciona sin problemas):
SELECT DISTINCT "Clave LEVV", "Seguimiento", "Clave Cliente",
"Procesada", "Canastilla", "Caja", "Posición", "Etiqueta de la caja"
FROM "P1-MPM <V04> Lista de Alícuotas-A de seg 1 y 2, no procesadas"
WHERE "P1-MPM <V04> Lista de Alícuotas-A de seg 1 y 2, no
procesadas"."Clave LEVV" IN ( SELECT "Clave LEVV" FROM "P1-MPM <V04>
Lista de Alícuotas-A de seg 1 y 2, no procesadas" AS "Tmp" GROUP BY
"Clave LEVV" HAVING COUNT( * ) > 1 ) ORDER BY "P1-MPM <V04> Lista de
Alícuotas-A de seg 1 y 2, no procesadas"."Clave LEVV"
¡ Y listo !, así pude extraer la información que necesitaba.
Lamentablemente mi conocimiento de SQL está muy limitado a lo que he
podido aprender desde hace una semana en mis ratos libres (que no es
mucho), así que no supe cómo hacerlo todo desde un solo paso con una
sola consulta SQL. Además, aún no entiendo completamente la lógica de
esta segunda consulta SQL. Esta solución la encontré en la siguiente
dirección, por si le interesa a alguien:
http://personal.lobocom.es/claudio/sql018.htm
Saludos a todos y de antemano muchas gracias por sus comentarios.
Espero que no haya sido demasiado extenso en mi descripción.
--
Argel.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]