Ver Mensaje Individual
  #2 (permalink)  
Antiguo 12/05/2011, 01:28
skullsuit
 
Fecha de Ingreso: julio-2008
Mensajes: 43
Antigüedad: 16 años, 6 meses
Puntos: 3
Respuesta: Mostrar datos en dos columnas

Encontre la solucion:
SELECT CampsPossibles.Descripcio, CAST(Valors.Data AS varchar(15))
FROM CampsPossibles INNER JOIN
CampsRegistres ON CampsPossibles.IdCamp = CampsRegistres.IdCamp INNER JOIN
Registres ON CampsRegistres.IdReg = Registres.IdReg INNER JOIN
Valors ON CampsRegistres.IdCamp = Valors.IdCamp AND CampsRegistres.IdReg = Valors.IdReg AND CampsRegistres.IdCamp = Valors.IdCamp
WHERE Valors.IdMedicio = 1 AND Valors.Data IS NOT NULL
UNION
SELECT CampsPossibles.Descripcio, CAST(Valors.Int AS varchar(15))
FROM CampsPossibles INNER JOIN
CampsRegistres ON CampsPossibles.IdCamp = CampsRegistres.IdCamp INNER JOIN
Registres ON CampsRegistres.IdReg = Registres.IdReg INNER JOIN
Valors ON CampsRegistres.IdCamp = Valors.IdCamp AND CampsRegistres.IdReg = Valors.IdReg AND CampsRegistres.IdCamp = Valors.IdCamp
WHERE Valors.IdMedicio = 1 AND Valors.Int IS NOT NULL
UNION
SELECT CampsPossibles.Descripcio, CAST(Valors.Varchar AS varchar(15))
FROM CampsPossibles INNER JOIN
CampsRegistres ON CampsPossibles.IdCamp = CampsRegistres.IdCamp INNER JOIN
Registres ON CampsRegistres.IdReg = Registres.IdReg INNER JOIN
Valors ON CampsRegistres.IdCamp = Valors.IdCamp AND CampsRegistres.IdReg = Valors.IdReg AND CampsRegistres.IdCamp = Valors.IdCamp
WHERE Valors.IdMedicio = 1 AND Valors.Varchar IS NOT NULL
UNION
SELECT CampsPossibles.Descripcio, CAST(Valors.Bool AS varchar(15))
FROM CampsPossibles INNER JOIN
CampsRegistres ON CampsPossibles.IdCamp = CampsRegistres.IdCamp INNER JOIN
Registres ON CampsRegistres.IdReg = Registres.IdReg INNER JOIN
Valors ON CampsRegistres.IdCamp = Valors.IdCamp AND CampsRegistres.IdReg = Valors.IdReg AND CampsRegistres.IdCamp = Valors.IdCamp
WHERE Valors.IdMedicio = 1 AND Valors.Bool IS NOT NULL
UNION
SELECT CampsPossibles.Descripcio, CAST(Valors.ValorReal AS varchar(15))
FROM CampsPossibles INNER JOIN
CampsRegistres ON CampsPossibles.IdCamp = CampsRegistres.IdCamp INNER JOIN
Registres ON CampsRegistres.IdReg = Registres.IdReg INNER JOIN
Valors ON CampsRegistres.IdCamp = Valors.IdCamp AND CampsRegistres.IdReg = Valors.IdReg AND CampsRegistres.IdCamp = Valors.IdCamp
WHERE Valors.IdMedicio = 1 AND Valors.ValorReal IS NOT NULL

Si teneis alguna propuesta mas eficiente o como hacerlo con una consulta más corta hacedmelo saber porfavor!

Un saludo