Sv Community El Salvador

Soporte y Tecnología => Programación => Base de Datos => Mensaje iniciado por: XtremeH en septiembre 01, 2014, 10:45:31 am

Título: Ayuda con Script de SQL
Publicado por: XtremeH en septiembre 01, 2014, 10:45:31 am
Buenos días amigos, resulta que estoy trabajando con un script que quiero hacer, pero no soy muy ducho para esto, y vengo pidiendo asesoría.

Resulta que tengo este script: Puede ser que una que otra letra esté mal puesta porque sólo dejé la escencia del script y le cambié algunos nombres de campos reales

Código: [Seleccionar]
SELECT a.IPAddressStr IP, h.DNSName Nombre, h.NBName Nombre 2, h.CodetID Codigo, a.Cat Categ, h.OSName Equipo,
 u.Name User, v.FaultlineID AssetID, v.name AssetDescripcion, v.cve Unidad, v.Status Estado, v.patched Prior, t.status Ficha

FROM hosts h, assets a, users u, vulns v, tickets t

WHERE h.assetID = a.AssetID AND a.UserID = u.UserID AND h.hostid = t.hostID

Y me da este resultado:

(http://i61.tinypic.com/dqr89d.png)

Pero yo quiero que me omita los registros que ya estén repetidos en el campo de AssetID para cada IP. Es decir, puede tener el mismo AssetID siempre y cuando sea una distinta IP. Cada IP puede tener X Asset's ID siempre y cuando no sean repetidos, no sé si me doy a entender. Ya intenté con DISTINTC, GROUP BY, pero no logro dar con esto.. ¿Será que alguien me ayuda?
Título: Re:Ayuda con Script de SQL
Publicado por: g00mba en septiembre 01, 2014, 10:53:00 am
lo que vos necesitas son condiciones anidadas, incluso un query anidado te puede servir tambien. hace que el query principal sea de las ip y que el query anidado sea de los assets por ejemplo.
Título: Re:Ayuda con Script de SQL
Publicado por: tekun en septiembre 01, 2014, 02:48:47 pm
si no es el script correcto, es paja que pueda ayudarte...
a simple vista el error esta porque en el script no estas relacionando la tabla vulns

Código: [Seleccionar]
SELECT a.IPAddressStr IP, h.DNSName Nombre, h.NBName Nombre 2, h.CodetID Codigo, a.Cat Categ, h.OSName Equipo,
 u.Name User, v.FaultlineID AssetID, v.name AssetDescripcion, v.cve Unidad, v.Status Estado, v.patched Prior, t.status Ficha

FROM hosts h, assets a, users u, vulns v, tickets t

WHERE h.assetID = a.AssetID AND a.UserID = u.UserID AND h.hostid = t.hostID


eso hace que por cada registro de esa tabla, repita la misma información.... no puedes dejer una tabla del from sin relacionar
Título: Re:Ayuda con Script de SQL
Publicado por: vlad en septiembre 02, 2014, 07:47:51 am
Lo mas probable es lo que dice Tekun, pero si es que pegaste mal el query tambien hay otra solucion:

Código: [Seleccionar]
GROUP BY v.FaultlineID, a.IPAddressStr