PDA

Ver la Versión Completa : Ayuda comparacion campos AdoQuery


Jaros
25-05-2008, 20:17:34
Hola, tengo un pequeño problema con una consulta, haber si se explicarme.
En la tabla Historico(Access) con AdoQuery tengo un campo(Tipo) en el que escribo 'UU' cuando el cliente ejecuta y 'UL' cuando el cliente acaba.
Bueno la consulta es si puedo recuperar los registros que contengan 'UU' y no exista todavia el 'UL' con IdCliente Tambien.
Gracias de antemano.

marcoszorrilla
25-05-2008, 21:42:39
Si entiendo bien lo que pides:

Select Id, Tipo
From Historico
Where historico.tipo = 'UU';


Un Saludo.

Jaros
25-05-2008, 21:50:10
No gracias por responder lo que tupones lo tengo claro.
El problema es que en la tabla hay escrito ya;
IdCliente Tipo
1235 UU
1235 UL

1236 UU

etc.etc
los que quiero recuperar son los que estan IdCliente=1236 y Tipo= UU en el que todavia no se ha escrito Tipo=UL osea IdCliente=1236 Tipo=UL
Los registros que estan en UU pero no estan UL
Espero que asi lo entiendas sino lo intentare explicarlo de otra manera, gracias

Neftali [Germán.Estévez]
26-05-2008, 09:38:45
Suponiendo que los rellenes en orden, esto podría funcionar:


select * from (SELECT historico.idcliente, Count(historico.tipo) as ctipo
FROM historico
GROUP BY historico.idcliente) where ctipo=1


Y esto supongo que también


select * FROM historico as hist2 where hist2.idcliente not in(
SELECT idcliente FROM historico where tipo='ul')



De todas formas decir que ambas consulta no son muy eficientes. Creo que no es problema de la consulta, sino un problema de diseño.
No se si estás a tiempo de corregirlo, pero lo lógico sería no insertar un segundo registro con el mismo idCliente, sino actualizar el existente con el nuevo tipo.

Jaros
27-05-2008, 19:54:58
Muchas gracias Neftali,
Si debo de insertar los dos registros para saber exacto cuando ejecuto y cuando finalizo,
el problema de querer recuperar el registro 'UU' y que estubiera el 'UL' es por que asi se los que todavia no han finalizado y el otro registro me hace falta para saber cuando ejecuta y cuando finalizo.

De todas maneras ya lo he resuelto es poco cutre pero funciona muy bien.
Hago una consulta donde saco todos los 'UU y 'UL' del cliente despues clono la consulta(tabla) y las comparo las dos sacando todos los 'UU' que no tienen 'UL' y "vuala"
De todas maneras gracias por contestar a los dos y si a alguien le hace falta el codigo por que tiene un problema similar lo posteo y ok.