Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

URGENTE:Problema con joins, y natural join

Estas en el tema de URGENTE:Problema con joins, y natural join en el foro de PostgreSQL en Foros del Web. Hola gente, vengo con un problema seguramente tonto pero urgente en una base de datos en postgresql, es con una operacion de INNER JOIN entre ...
  #1 (permalink)  
Antiguo 16/11/2014, 00:06
Avatar de pablo777  
Fecha de Ingreso: abril-2013
Ubicación: san luis
Mensajes: 5
Antigüedad: 11 años, 7 meses
Puntos: 0
URGENTE:Problema con joins, y natural join

Hola gente, vengo con un problema seguramente tonto pero urgente en una base de datos en postgresql, es con una operacion de INNER JOIN entre dos tablas.

Contratos:
Código:
CREATE TABLE "Contratos"
(
  "Cfechainicio" date NOT NULL,
  "CCódigo" integer NOT NULL,
  "Cmonto" real NOT NULL,
  "EstadoContrato" boolean NOT NULL,
  cdnifirma bigint NOT NULL,
  "Cancelado" boolean NOT NULL DEFAULT false,
  CONSTRAINT "Firma" FOREIGN KEY (cdnifirma)
      REFERENCES "Clientes" (cdni) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT "C-Código" UNIQUE ("CCódigo")
)
y clientes
Código:
CREATE TABLE "Clientes"
(
  cnbreyapellido character varying NOT NULL,
  cdni bigint NOT NULL,
  "cteléfono" bigint NOT NULL,
  clugar_trabajo character varying NOT NULL,
  cdomicilio character varying NOT NULL,
  "EstadoCliente" boolean NOT NULL,
  CONSTRAINT "Key3" PRIMARY KEY (cdni)
)
Este es mi INNER JOIN:

SELECT *
FROM "Contratos" INNER JOIN "Clientes"
ON'Clientes.cdni'='Contratos.cdnifirma' ;

Est consulta asi como esta no devuele ninguna fila, mientras que aplicando un NATURAL JOIN y cambiando cdnifirma en Contratos a cdni

SELECT *
FROM "Contratos" NATURAL JOIN "Clientes" ;

devuelve el resultado que yo quiero.

Mi consulta es, esta mal definida la INNER JOIN? porque no obtengo el mismo resultado?

Ademas, si yo quiero seleccionar algunas columnas de la consulta, digamos cnbreyapellido, en el apartado de la respuesta obtengo una columna unknown?name
Gracias!

Última edición por pablo777; 16/11/2014 a las 15:18
  #2 (permalink)  
Antiguo 24/11/2014, 14:14
Avatar de drako_darpan  
Fecha de Ingreso: octubre-2008
Ubicación: Sinaloa
Mensajes: 617
Antigüedad: 16 años, 1 mes
Puntos: 58
Respuesta: URGENTE:Problema con joins, y natural join

Hola que tal, con tu consulta:

Código SQL:
Ver original
  1. SELECT *
  2. FROM Contratos AS a
  3. JOIN Clientes AS b ON ( a.cdnifirma = b.cdni );

Que valores esperas obtener? En teoría no se le ve nada mal a tu consulta.

Si pudieras poner datos, para poder hacer mejor la consulta.
__________________
Your Code as a Crime Scene...

Etiquetas: join, joins, natural, postgres
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:28.