Ver Mensaje Individual
  #1  
Antiguo 15-01-2011
Avatar de Adrian Murua
Adrian Murua Adrian Murua is offline
Miembro
 
Registrado: oct 2003
Ubicación: Tucuman - Argentina
Posts: 45
Reputación: 0
Adrian Murua Va por buen camino
Cool En Consulta SQL seleccionar un campo de un conjunto, Segun criterio

Estimados Amigos:

Tengo dos tabla en firebird 2.5 con la siguiente estructura
Código:
Tabla : EMPRESAS_STAR

    ID           INTEGER NOT NULL,  /* pk */
    EMPRESAS_ID  INTEGER NOT NULL,  /* fk - CON TABLA EMPRESAS */
    STAR_1       INTEGER DEFAULT 0,
    STAR_2       INTEGER DEFAULT 0,
    STAR_3       INTEGER DEFAULT 0,
    STAR_4       INTEGER DEFAULT 0,
    STAR_5       INTEGER DEFAULT 0


Tabla : EMPRESAS

    ID             INTEGER NOT NULL, /* pk */
    CUIT           STR11 NOT NULL 
    NOMBRE         STR100 NOT NULL,
    DIRECCION      STR100 ,
    POSTAL         STR10,
    TELEFONO_1     STR20,
La tabla EMPRESAS_STAR lleva las calificaciones ( tipo con estrellas, como las calificaciones de la musica en el WMP ) en importancia del listado de empresas,
los campos STAR_x, tienen dos posibles valores 0 y 1, dependiendo de la calificacion dada, obviamente solo uno de los cinco, puede estar en 1.
Deseo hacer una consulta de los datos de las empresas, donde ademas aparezca la calificacion de la misma, algo como:

Código:
select 
    empresas.id,
    empresas.cuit,
    empresas.nombre,
    empresas.direccion,
    empresas.postal,
    empresas.telefono_1,
    empresas_star.id,
    empresas_star.star_x
from empresas_star
   inner join empresas on (empresas_star.empresas_id = empresas.id
Donde EMPRESAS_STAR.STAR_X sea solo el campo de la tabla que contenga el valor 1, Se puede hacer esto desde la misma consulta SQL ?, o debo "trabajarla" a la consulta antes de mostrar los resultados en la aplicacion delphi.

Gracias por su tiempo.
__________________
Adrián Murúa.
Responder Con Cita