Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Problema consulta con AS (https://www.clubdelphi.com/foros/showthread.php?t=45101)

zvf 22-06-2007 18:05:12

Problema consulta con AS
 
Hola a todos!
Explico mi problema:
Tengo dos tablas, PACIENTE, CLINICA. Necesito un reporte con el id del paciente, su nombre completo y la clinica integral y clinica asociada a la que pertenece.
Solo que en la tabla de paciente, no me aparece el nombre de la clinica integral y la asociada, sino los id, y las descripciones se encuentran en la tabla clinica, pongo un ejemplo de mis tablas.

PACIENTE
paci_id
paci_nombre
paci_idclinica
paci_id clinicaasociadaid

CLINICA
clin_id
clin_descripcion


El campo paci_idclinica se relaciona con clin_id, y yo necesito en mi reporte el campo clin_descripcion.
El campo paci_idclinicaasociadaid se relaciona con clin_id tambien, y yo necesito mi reporte con el campo clin_descripcion.
No se como hacerlo, tengo lo siguiente:

Código SQL [-]
select paci_id, paci_nombre, 
         paci_idclinica, paci_clinicaasociadaid,
         clin_descripcion AS clin_descc, clin_descripcion as clin_descca
from PACIENTE, CLINICA
where paci_estatus ='A' 
      
         paci_idclinica = clin_id clin_descc
         paci_clinicaasociadaid = clin_id clin_descca

Yo se que esta completamente mal, pero quiero dar una idea...

Gracias de verdad por todo!!

GustavoCruz 22-06-2007 18:37:23

problemas consulta con AS
 
hola zvf el error que veo en tu consulta es que te hacen falta los and y resulta que AS te permite cambiar el nombre de campo "Columna" que se visualizará, para hacer la comparación deberás utiliazar el nombre del campo, prueba esto:

Código SQL [-]
select paci_id, paci_nombre, 
         paci_idclinica, paci_clinicaasociadaid,
         clin_descripcion AS clin_descc, clin_descripcion as clin_descca
from PACIENTE, CLINICA
where paci_estatus ='A'  and      
         paci_idclinica = clin_descripcion and clin_descc and
         paci_clinicaasociadaid = clin_id clin_descca

Espero te sirva, saludo... :)

zvf 22-06-2007 18:45:24

Gracias!
 
Me ayudo tu respuesta a orientarme un poco, mira, asi quedo

Código SQL [-]
select paci_id, paci_nombre, 
         paci_idclinica, paci_clinicaasociadaid,
         clin_descripcion AS clin_descc, clin_descripcion as clin_descca
from PACIENTE, CLINICA
where paci_estatus ='A'  and      
         paci_idclinica = clin_id and
         paci_clinicaasociadaid = clin_id

Gracias por tu ayuda!!

zvf 22-06-2007 19:08:09

Perdon, otra vez
 
:confused:

Escribi la consulta tal cual la puse en el mensaje anterior, solo que las unicas filas que me muestra son las que tienen en su campo paci_idclinica y paci_clinicaasociadaid son iguales. Y yo quiero tambien que me incluya los que son diferentes, no se porque me los esta sacando asi, yo lo unico que quiero es que me muestre la lista con las descripciones de estas dos clinicas, sean diferente o iguales.

Que puedo hacer? :confused:

ramiretor 22-06-2007 19:47:51

Hola:
Pues claro que te sucede eso, lo que entiendo es que todas las clinicas están en la misma tabla (sean integrales o asociadas ).

Bueno como todo eso está en la misma tabla, tienes que hacer join a la misma tabla dos veces, (te recomiendo uses identificadores de tus tablas):

Código SQL [-]
 select paci_id, paci_nombre, 
         paci_idclinica, paci_clinicaasociadaid,
         b.clin_descripcion AS clin_descc, c.clin_descripcion as clin_descca
from PACIENTE A, CLINICA B, CLINICA C
where paci_estatus ='A'  and      
         B.paci_idclinica = clin_id and
         C.paci_clinicaasociadaid = clin_id

y con eso debe de funcionar

zvf 23-06-2007 01:34:10

Gracias !!

zvf 23-06-2007 01:34:41

Gracias por tu tiempo y atención !!
Ahora si ya funcionó


La franja horaria es GMT +2. Ahora son las 11:51:27.

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