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 13-03-2010
Jose Manuel Jose Manuel is offline
Miembro
 
Registrado: may 2003
Posts: 112
Poder: 22
Jose Manuel Va por buen camino
Post Unir el codigo y nombre de tablas diferentes

Hola, no se como realizar la siguiente consulta: Tengo 2 tablas, una con los nombre de personas y otra con los codigos de las personas, y quiero que en la consulta, me ponga el codigo de la persona y su nombre. El resultado de mi consulta debería quedar de la siguiente manera:
Código:
N_informe	N_PROPIETARIO	N_ENVIA	N_RECIBE
11235	1-PEPE	 2-LUIS	3-BELEN
22344	3-BELEN	 1-PEPE	2-LUIS
32312	3-BELEN 	2-LUIS	4-MARIA
Pero utilizando las siguientes instrucciones, solo obtengo la traducción para N_PROPIETARIO, y me falta N_ENVIA y N_RECIBE.

Código SQL [-]
SELECT
  "INFORMES"."n_informe" AS informe,
  "INFORMES"."n_propietario" AS n_propietario,
  "PERSONAL"."c_nombre" AS c_propietario,
  "INFORMES"."n_envia" AS n_envia,
  "INFORMES"."n_recibe" AS n_recibe
FROM
   Informes, personal
WHERE
  "INFORMES"."n_propietario" = "PERSONAL"."n_codigo"

Código:
N_informe	N_PROPIETARIO	N_ENVIA	N_RECIBE
11235	1-PEPE	  2	3
22344	3-BELEN	  1	2
32312	3-BELEN	  2	4
Estos son los campos de la tabla PERSONAL
Código SQL [-]
CREATE TABLE "PERSONAL" (
"n_codigo" NUMBER(4),
"c_nombre" VARCHAR2(50),
CONSTRAINT personal_pk PRIMARY KEY("n_codigo"));

Insert into "PERSONAL" ("n_codigo","c_nombre") Values (1, 'PEPE');
Insert into "PERSONAL" ("n_codigo","c_nombre") Values (2, 'LUIS');
Insert into "PERSONAL" ("n_codigo","c_nombre") Values (3, 'BELEN');
Insert into "PERSONAL" ("n_codigo","c_nombre") Values (4, 'MARIA');

Estos son los campos de la tabla INFORMES
Código SQL [-]
CREATE TABLE "INFORMES" (
"n_informe" NUMBER(4),
"n_propietario" NUMBER(4),
"n_envia" NUMBER(4),
"n_recibe" NUMBER(4),
CONSTRAINT informes_pk PRIMARY KEY("n_informe"));

Insert into "INFORMES" ("n_informe","n_propietario","n_envia","n_recibe") Values (1, 1, 2,3);
Insert into "INFORMES" ("n_informe","n_propietario","n_envia","n_recibe") Values (2, 3, 1,2);
Insert into "INFORMES" ("n_informe","n_propietario","n_envia","n_recibe") Values (3, 3, 2,4);
Responder Con Cita
  #2  
Antiguo 13-03-2010
Jose Manuel Jose Manuel is offline
Miembro
 
Registrado: may 2003
Posts: 112
Poder: 22
Jose Manuel Va por buen camino
Despues de poner el mensaje, he visto que la solución sería esta:

Código SQL [-]
SELECT  distinct
  "INFORMES"."n_informe" AS informe,
  "INFORMES"."n_propietario" AS n_propietario,
   (SELECT  "PERSONAL"."c_nombre"  FROM  personal WHERE
   "INFORMES"."n_propietario" = "PERSONAL"."n_codigo") AS c_propietario,
  "INFORMES"."n_envia" AS n_envia,
   (SELECT  "PERSONAL"."c_nombre"  FROM  personal WHERE
   "INFORMES"."n_envia" = "PERSONAL"."n_codigo") AS c_envia,
  "INFORMES"."n_recibe" AS n_recibe,
   (SELECT  "PERSONAL"."c_nombre"  FROM  personal WHERE
   "INFORMES"."n_recibe" = "PERSONAL"."n_codigo") AS c_recibe
FROM
   Informes, personal
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
unir 2 consultas con campos diferentes.. sakuragi SQL 7 03-10-2005 10:12:28
Unir base de datos en diferentes formatos rbeltran Conexión con bases de datos 1 12-01-2005 21:37:37
Unir base de datos en diferentes formatos rbeltran Conexión con bases de datos 0 16-12-2004 20:06:40
¿Como Unir tablas de dos ALIAS diferentes? sitrico SQL 3 01-07-2004 01:15:09
Unir dos campos (nombre + apellidos) Tomás Impresión 8 09-02-2004 16:56:32


La franja horaria es GMT +2. Ahora son las 01:37:57.


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