Ver Mensaje Individual
  #2 (permalink)  
Antiguo 11/02/2014, 08:55
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Mas de una sentencia con where

Cita:
Iniciado por JorgeQuirino Ver Mensaje
Tengo este codigo, funciona completo hasta el primer where, la pregunta es si puedo colocar 3 tipos de campos que busco (banco1, banco2, banco3) y si se puede si esta bien este o que le falta por que no me lo lanza, o si tienen algun ejemplo Saludos

Código MySQL:
Ver original
  1. R.`usuarios`
  2. P.`rut`,
  3. R.`nombreusuario`,
  4. P.`nom_fantasia`
  5.  
  6. `PVIGENTE` P LEFT JOIN `RESULTADOS` R ON P.`COD_USER_BBVA` =R.`USUARIOS`
  7.  R.`USUARIOS` IS NULL
  8. AND NOM_FANTASIA ='BANCO 1',
  9. AND NOM_FANTASIA='BANCO 2',
  10. AND NOM_FANTASIA='BANCO3',
El problema es de lógica. El campo no puede tener al mismo tiempo tres valores diferentes, por lo que no puede cumplirse al mismo tiempo:
Cita:
AND NOM_FANTASIA ='BANCO 1',
AND NOM_FANTASIA='BANCO 2',
AND NOM_FANTASIA='BANCO3',
Lo que corresponde es uno de entre tres, lo cual implcia usar OR, pero como tienes un valor base de otro campo, las tres validaciones deben estar encerradas entre paréntesis para tomarse como una sola:
Código MySQL:
Ver original
  1.     R.`usuarios`,
  2.     P.`rut`,
  3.     R.`nombreusuario`,
  4.     P.`nom_fantasia`
  5.     `PVIGENTE` P LEFT JOIN `RESULTADOS` R ON P.`COD_USER_BBVA` = R.`USUARIOS`
  6.     R.`USUARIOS` IS NULL
  7.     AND (NOM_FANTASIA ='BANCO 1' OR NOM_FANTASIA='BANCO 2' OR NOM_FANTASIA='BANCO3')
o bien:
Código MySQL:
Ver original
  1.     R.`usuarios`,
  2.     P.`rut`,
  3.     R.`nombreusuario`,
  4.     P.`nom_fantasia`
  5.     `PVIGENTE` P LEFT JOIN `RESULTADOS` R ON P.`COD_USER_BBVA` = R.`USUARIOS`
  6.     R.`USUARIOS` IS NULL
  7.     AND NOM_FANTASIA IN ('BANCO 1' , 'BANCO 2', 'BANCO3')

Además de eso tienes dos erroes graves:
1) El primer campo no está separado del segundo por su correspondiente coma.
2) Estás separando las condiciones del WHERE con comas, y eso esta mal. No existen comas entre condiciones.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)