Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-03-2015
emeritos emeritos is offline
Miembro
 
Registrado: may 2003
Posts: 307
Poder: 21
emeritos Va por buen camino
Consulta SQL

Hola dilferos.
Mi pregunta es sobre una consulta de SQL para despues migrarla a Delphi 7. Os pongo en situacion. Tengo estos fichero:

GENEROS(cod_genero,genero), CATEGORIAS(cod_categoria,categoria), PESOS(cod_peso,peso), COMPETIDORES(cod_competidor,competidor), estos estan rellenos con infomacion, el conflictivo es CUADROS(cod_genero,cod_categoria,cod_peso,cod_cuadro,cod_competidorL,cod_competidorV) aqui todos los campos estan rellenos excepto cod_competidorL,cod_competidorV que lo pueden estar (no causa problema) o no lo pueden estar (uno o los dos) por cual su valor si no lo esta es 0(cero).

La consulta que tengo realizada es:
Código SQL [-]
   SELECT G.genero, CA.categoria, P.peso, CO1.competidor, CO2.competidor
   FROM cuadros C, generos G, categorias CA, pesos P competidores CO1, competidores CO2
   WHERE (C.cod_genero = G.cod_genero) 
   AND (C.cod_categoria = CA.cod_categoria) 
   AND (C.cod_peso = P.cod_peso)
   AND (C.competidorL = CO1.cod_competidor) AND (C.competidorV = CO2.cod_competidor)
Si todos los competidores de CUADRO no estan vacios no hay problemas, pero si uno de los dos es 0 la consulta no devuelve nada. Lo he intentado asi OR ((C.competidorL = CO1.cod_competidor) OR (C.competidorV = CO2.cod_competidor)) pero tampoco me sale.
Mecesito una solucion para que cuando sean 0 me devuelva la consulta las columnas pertimentes pero en los competidores cero o su valor.


Saludos y gracias.

Última edición por nlsgarcia fecha: 19-03-2015 a las 17:22:55. Razón: Sintaxis y Formateo SQL
Responder Con Cita
  #2  
Antiguo 19-03-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Por favor, no olvides poner títulos descriptivos a tus preguntas.

Y recuerda poner los tags al código fuente, ejemplo:



Gracias
Responder Con Cita
  #3  
Antiguo 19-03-2015
emeritos emeritos is offline
Miembro
 
Registrado: may 2003
Posts: 307
Poder: 21
emeritos Va por buen camino
Código Delphi [-]
SELECT G.genero, CA.categoria, P.peso, CO1.competidor, CO2.competidor
FROM cuadros C, generos G, categorias CA, pesos P competidores CO1, competidores CO2
WHERE (C.cod_genero = G.cod_genero) AND (C.cod_categoria = CA.cod_categoria) AND (C.cod_peso = P.cod_peso)
AND (C.competidorL = CO1.cod_competidor) AND (C.competidorV = CO2.cod_competidor)
Este es el codigo
Responder Con Cita
  #4  
Antiguo 19-03-2015
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.272
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
¿Qué base de datos está utilizando?

Prueba algo así:

Código SQL [-]
SELECT G.genero, CA.categoria, P.peso, CO1.competidor, CO2.competidor
FROM cuadros C 
LEFT JOIN generos G ON (C.cod_genero = G.cod_genero)
LEFT JOIN categorias CA ON (C.cod_categoria = CA.cod_categoria)
LEFT JOIN pesos P ON (C.cod_peso = P.cod_peso)
LEFT JOIN competidores CO1 ON (C.competidorL = CO1.cod_competidor)
LEFT JOIN competidores CO2 ON (C.competidorV = CO2.cod_competidor)

Si te dan problemas, elimina los paréntesis de los ON.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Consulta SQL basada en otra consulta anterior jafera SQL 5 19-11-2013 01:07:37
consulta sobre una consulta :D PablorD MySQL 4 02-06-2010 21:59:51
Realizar una consulta sobre los registros que devuelve otra consulta Borjaserrano Firebird e Interbase 12 01-10-2007 23:19:44
Consulta dentro de otra consulta judit25 Conexión con bases de datos 1 25-06-2007 15:52:15
consulta sobre consulta superhopi SQL 2 16-05-2003 19:01:47


La franja horaria es GMT +2. Ahora son las 10:31:00.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi