Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Ayuda con Query ambiguo

Estas en el tema de Ayuda con Query ambiguo en el foro de SQL Server en Foros del Web. Usuarios: Id, unsername, nombre, email, centro_trabajo, locacion, subgerencia, centrotrab Schedulesspa; id, centro_trabajo, locacion, subgerencia, centrotrab, nocons Schedulesspa2; id, nocons, usuario. el campo usuario de schedulesspa2 ...
  #1 (permalink)  
Antiguo 24/02/2009, 19:01
 
Fecha de Ingreso: diciembre-2008
Mensajes: 17
Antigüedad: 15 años, 10 meses
Puntos: 0
Ayuda con Query ambiguo

Usuarios: Id, unsername, nombre, email, centro_trabajo, locacion, subgerencia, centrotrab

Schedulesspa; id, centro_trabajo, locacion, subgerencia, centrotrab, nocons

Schedulesspa2; id, nocons, usuario.
  • el campo usuario de schedulesspa2 es igual al id de usuario.

select email FROM USUARIOS A, SCHEDULESSPA B, SCHEDULESSPA2 C WHERE A.CENTRO_TRABAJO = B.CENTRO_TRABAJO AND A.LOCACION = B.LOCACION AND A.SUBGERENCIA = B.SUBGERENCIA AND A.CENTROTRAB=B.CENTROTRAB AND B.NOCONS = C.NOCONS AND EMAIL<>'' AND B.SCHEDULESSPA = ‘NOCONS’

EN ESTE QUERY ME SELECCIONA TODOS LOS EMAILS DONDE COINCIDAN TODOS LAS CONDICIONES. LO QUE SE REQUIERE ES QUE SOLO ME SELECCIONE UN EMAIL DE UNA PERSONA ENCARGADA DE CENTROTRAB (TALLER), AL PONER AND C.SCHEDULESSPA = ‘NOCONS’ ME INDICA QUE SON CAMPOS AMBIGUOS, COMO PUEDO RESOLVER ESTE PROBLEMA. EL NOCONS ES UN NUMERO UNICO POR CADA REGISTRO.
  #2 (permalink)  
Antiguo 26/02/2009, 08:19
Avatar de kennyhp  
Fecha de Ingreso: julio-2006
Mensajes: 370
Antigüedad: 18 años, 3 meses
Puntos: 5
Respuesta: Ayuda con Query ambiguo

Hombre, lo primero que te recomiendo es que seas un poco más limpio al picar tú código, es muy difícil leerlo, pon alias más identificativos, separa por lineas, etc... Lo segundo es que uses JOINS, pero bueno quitando esto, lo que veo es que aquí:
AND B.SCHEDULESSPA = ‘NOCONS’ quieres acceder al campo SCHEDULESSPA de la tabla Schedulesspa, y por lo que veo en la definición que has puesto arriba, este campo no existe. Otra cosa es que aunque el campo EMAIL no se repite en las distintas tablas, si estas usando Alias en todos los campos, no cuesta nada ponerlo aquí también... te costaré menos leer el código y saber de donde proviene ese campo.

Un saludo,
Dani.
  #3 (permalink)  
Antiguo 26/02/2009, 12:28
 
Fecha de Ingreso: febrero-2009
Mensajes: 312
Antigüedad: 15 años, 8 meses
Puntos: 4
Respuesta: Ayuda con Query ambiguo

select email FROM USUARIOS A, SCHEDULESSPA B, SCHEDULESSPA2 C WHERE A.CENTRO_TRABAJO = B.CENTRO_TRABAJO AND A.LOCACION = B.LOCACION AND A.SUBGERENCIA = B.SUBGERENCIA AND A.CENTROTRAB=B.CENTROTRAB AND B.NOCONS = C.NOCONS AND A.EMAIL<>'' AND B.SCHEDULESSPA = ‘NOCONS’
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:50.