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

me sale 3 veces cada fila

Estas en el tema de me sale 3 veces cada fila en el foro de SQL Server en Foros del Web. Hola, me ha surgido un problema. utilizo la sentencia esta @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código SQL: Ver original SELECT S . descripcion , N . productor , ...
  #1 (permalink)  
Antiguo 20/05/2010, 03:06
 
Fecha de Ingreso: mayo-2010
Mensajes: 7
Antigüedad: 13 años, 11 meses
Puntos: 0
me sale 3 veces cada fila

Hola, me ha surgido un problema. utilizo la sentencia esta

Código SQL:
Ver original
  1. SELECT S.descripcion,N.productor,N.fechainicial,N.fechafinal,N.horascotizadas
  2. FROM nsal N, nmpr P, nsec S
  3. WHERE N.empresa=001 AND N.tipo=1 AND N.fechainicial>=@fFecha_inicial
  4.    AND N.fechafinal<=@fFecha_final AND N.basecontcomunes<>0
  5.    AND N.productor=P.productor
  6.    AND S.seccion=P.seccion
  7. ORDER BY N.fechainicial ASC

Mi problema es que me da lo que quiero pero sale cada fila 3 veces en vez de 1. Me ha surgido claro, al juntar tablas, exactamente cuando he pemito los dos ultimos AND. Me podeis ayudar y decirme al menos pq podria ser???
  #2 (permalink)  
Antiguo 20/05/2010, 08:41
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: me sale 3 veces cada fila

El tipo de join que usas esta en desuso, ahora se usa inner join. Es mas eficiente y mas facil de entender. Lee sobre el tema.
Código SQL:
Ver original
  1. SELECT S.descripcion,N.productor,N.fechainicial,N.fechafinal,N.horascotizadas
  2. FROM nsal N
  3. INNER JOIN nmpr P ON N.productor = P.productor
  4. INNER JOIN nsec S ON P.seccion = S.seccion
  5. WHERE N.empresa = 001 AND N.tipo = 1 AND N.fechainicial >= @fFecha_inicial
  6. AND N.fechafinal <= @fFecha_final AND N.basecontcomunes <> 0  
  7. ORDER BY N.fechainicial
Suerte!
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #3 (permalink)  
Antiguo 23/05/2010, 17:28
 
Fecha de Ingreso: abril-2010
Mensajes: 65
Antigüedad: 14 años
Puntos: 3
Respuesta: me sale 3 veces cada fila

Talvez no has amarrado bien tus tablas pero de todos modos seria bueno que utilizes el distinct quedarìa asì
SELECT distint S.descripcion,N.productor,N.fechainicial,N.fechafi nal,N.horascotizadasFROM nsal N, nmpr P, nsec SWHERE N.empresa=001 AND N.tipo=1 AND N.fechainicial>=@fFecha_inicial AND N.fechafinal<=@fFecha_final AND N.basecontcomunes<>0 AND N.productor=P.productor AND S.seccion=P.seccionORDER BY N.fechainicial ASC

Etiquetas: fila, sale
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 17:21.