PDA

Ver la Versión Completa : Problemas con una consulta Sql


romansiux
13-06-2005, 17:06:27
Hola a todos

Les agradecería muchísimo su ayuda

Tengo problemas con una consulta, soy nuevo en esto.
Al momento de entrar a mi sistema, me guarda en una tabla temporal (tabla1, en el campo DIA1) lo que es el día de la semana (lunes, martes, etc..) y en otra tabla temporal (tabla2, en el campo DIA2) me guarda el día del mes (9,10,11).

Esto es para sacar un reporte de las llamadas diarias que se tiene que hacer al cliente, si el cliente dice que todos los lunes le pueden llamar, entonces todos los lunes me aparecera en mi reporte, o si dece que al principio de cada mes, entonces cada principio del mes me aparecerá en mi reporte

En un form capturo el dia de la semana (lunes, martes...) y lo guardo en una tabla3 en el campo DIA3 char(10), y tambíen capturo los días del mes(1,2,3..), y lo meto al mismo campo DIA3, (no se si sea lo correcto), ya tengo lo que requiero para hacer la consulta, al menos eso creo.

Ahora como puedo hacer la consulta por sql

Yo intente hacer esto:

Select * from tabla1, tabla2, tabla3, clientes
Where
clientes.id_cliente=tabla3.id_cliente // esto es para sacar el nombre del // cliente
and
tabla1.DIA1=tabla3.DIA3 //aqui comparo los dias (lunes, marte...)
and
tabla2.DIA2=tabla3.DIA3 //aqui comparo los dias del mes(2,3,5,6..)
order by clientes.nombre

Pero al ejecutar esto me salen puros valores nulos..

Saludos

Y gracias por anticipado.

ContraVeneno
13-06-2005, 22:16:19
que tal

no es recomendable que pongas la información de dos cosas diferentes en un solo campo, yo te recomendaría que el día de la semana lo pusieras en un campo y el día del mes en otro campo....

la segunda recomendación sería que guardaras el día no como caracteres (lunes, martes, etc) si no como números (domingo=1, lunes=2, martes=3, etc)... es más fácil compara: si 1=1 que comparar: si domingo=domingo

no se si entedí bien tu problema, pero supongo por la información que das, que el problema esta en que estas comparando el día del mes dia2 (supongo que es entero) con dia3 (que es char), por eso te aparecen nulos....

saludos

romansiux
14-06-2005, 04:28:20
Muchisimas Gracias ContraVeneno ya encontre mi error, en lugar de and era or, y entre parentesis.

Select * from tabla1, tabla2, tabla3, clientes
Where
clientes.id_cliente=tabla3.id_cliente // esto es para sacar el nombre del // cliente
and (
tabla1.DIA1=tabla3.DIA3 //aqui comparo los dias (lunes, marte...)
or
tabla2.DIA2=tabla3.DIA3 //aqui comparo los dias del mes(2,3,5,6..)
order by clientes.nombre)
Pero voy a seguir tus recomendaciones...

Gracias y Saludos