SQL - Ayuda con una sentencia SQL

   
Vista:

Ayuda con una sentencia SQL

Publicado por Aique (2 intervenciones) el 16/02/2010 19:21:54
Hola.

Mi problema es que necesito pasar la siguiente consulta, en la que existen unos joins implícitos:

SELECT DISTINCT
LOCALIDAD_DIN1.NOMBRE,
LOCALIDAD_DIN1.ID,
DDB_VALORES_LOCALIDAD_DIN1.VALOR_VARCHAR2,
DDB_VALORES_LOCALIDAD_DIN1.VALOR_FLOAT
FROM LOCALIDAD_DIN1, DDB_ATRIBUTOS_LOCALIDAD_DIN1, DDB_EAV_LOCALIDAD_DIN1, DDB_VALORES_LOCALIDAD_DIN1
WHERE LOCALIDAD_DIN1.ID = DDB_EAV_LOCALIDAD_DIN1.ENTIDAD_ID AND
DDB_ATRIBUTOS_LOCALIDAD_DIN1.ID = DDB_EAV_LOCALIDAD_DIN1.ATRIBUTO_ID AND
DDB_VALORES_LOCALIDAD_DIN1.ID = DDB_EAV_LOCALIDAD_DIN1.VALOR_ID

A otra en la que los joins figuren en la consulta, sin embargo no consigo dar con ello. ¿Alguien puede echarme una mano?.

Gracias!.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda con una sentencia SQL

Publicado por Leonardo Josue (878 intervenciones) el 19/02/2010 17:36:40
A ver si entendí lo que necesitas. Según yo lo que necesitas es hacer uso de la clausula INNER JOIN para hacer las consultas cierto? puedes probar la siguiente consulta para ver si te regresa los mismos valores.

SELECT DISTINCT
LOCALIDAD_DIN1.NOMBRE,
LOCALIDAD_DIN1.ID,
DDB_VALORES_LOCALIDAD_DIN1.VALOR_VARCHAR2,
DDB_VALORES_LOCALIDAD_DIN1.VALOR_FLOAT
FROM
LOCALIDAD_DIN1,
INNER JOIN DDB_EAV_LOCALIDAD_DIN1 ON DDB_EAV_LOCALIDAD_DIN1.ENTIDAD_ID = LOCALIDAD_DIN1.ID
INNER JOIN DDB_ATRIBUTOS_LOCALIDAD_DIN1 ON DDB_ATRIBUTOS_LOCALIDAD_DIN1.ID = DDB_EAV_LOCALIDAD_DIN1.ATRIBUTO_ID
INNER JOIN DDB_VALORES_LOCALIDAD_DIN1 ON DDB_VALORES_LOCALIDAD_DIN1.ID = DDB_EAV_LOCALIDAD_DIN1.VALOR_ID

Saludos y espero que te sea de ayuda la información
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con una sentencia SQL

Publicado por Aique (2 intervenciones) el 25/02/2010 15:34:04
Muchas Gracias!.

Era exactamente eso, asi ya me funciona bien.

Y ya que la respuesta ha sido tan rapida y eficaz, tengo otra duda más con respecto al SQL. Es la siguiente:

Tengo una tabla por cada tipo de dato que puedo almacenar.

Tengo una tabla con una entidad que tiene asociados dos valores de distinto tipo que se almacenarán en estas tablas, latitud de tipo NUMBER y web de tipo VARCHAR2. Además esta entidad tiene otro atributo más el cual se almacena en la propia tabla de la entidad, llamado nombre.

¿Puedo en una sola consulta sacar estos 3 valores?.

Lo he intentado haciendo algo como esto (faltan cosas pero para entender la idea creo que esta bien):

SELECT nombre, valores_number.valor, valores_varchar2.valor FROM localidad
JOIN valores_number ON localidad.id = valores_number.id
JOIN valores_varchar2 ON localidad.id = valores_varchar2.id

Pero no me sale ningún resultado. Si los obtengo si consulto los atributos dinamicos por separado. Haciendo:

SELECT nombre, valores_number.valor, valores_varchar2.valor FROM localidad
JOIN valores_number ON localidad.id = valores_number.id

Y

SELECT nombre, valores_number.valor, valores_varchar2.valor FROM localidad
JOIN valores_varchar2 ON localidad.id = valores_varchar2.id

¿Mediante una consulta SQL se pueden unir estos dos resultados?.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar