Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/02/2013, 07:47
Avatar de livication
livication
 
Fecha de Ingreso: noviembre-2009
Mensajes: 78
Antigüedad: 14 años, 5 meses
Puntos: 0
Como hago el join ???

Estimados Foreros.

Tengo un problema de conceptos y necesito que me ayuden.
Necesito hacer unos Join con la info de mi BD
Necesito hacer un hacer el JOIN desde la misma tabla para la PK de esquemaprograma

Código SQL:
Ver original
  1. SELECT
  2.     p.profolio
  3. FROM
  4.     esquemaprograma AS ep
  5. INNER JOIN programa AS p ON (ep.profolio=p.profolio)
  6. INNER JOIN simulaciones AS s ON (ep.profolio=s.profolio)
  7.  
  8. Seguir JOIN's...
  9.    
  10.    
  11. WHERE
  12.     p.profolio='1300030';


Código SQL:
Ver original
  1. -- Table: simulaciones
  2.  
  3. -- DROP TABLE simulaciones;
  4.  
  5. CREATE TABLE simulaciones
  6. (
  7.   simcodigo serial NOT NULL,
  8.   item INTEGER NOT NULL DEFAULT 1,
  9.   esqcodigo INTEGER,
  10.   patcodigo CHARACTER VARYING(4),
  11.   profolio CHARACTER VARYING(9),
  12.   refcreacion DATE,
  13.   rendimiento DOUBLE PRECISION,
  14.   simnombrebd CHARACTER VARYING(100),
  15.   simruta CHARACTER VARYING(200),
  16.   simobservacion CHARACTER VARYING(1000),
  17.   simtrozosconsumo INTEGER,
  18.   simvolumenconsumo DOUBLE PRECISION,
  19.   simdiametropromedio DOUBLE PRECISION,
  20.   fechareal DATE,
  21.   turnoreal CHARACTER(2),
  22.   aserrin DOUBLE PRECISION,
  23.   pzasadicionalesl1 INTEGER DEFAULT 0,
  24.   pzasadicionalesl2 INTEGER DEFAULT 0,
  25.   astillas DOUBLE PRECISION,
  26.   largoreal DOUBLE PRECISION,
  27.   diametromedio DOUBLE PRECISION,
  28.   anchobasa DOUBLE PRECISION,
  29.   diametromin DOUBLE PRECISION,
  30.   conicidad DOUBLE PRECISION,
  31.   alturacortemultiple DOUBLE PRECISION,
  32.   npiezascentralesesquema INTEGER,
  33.   npiezaslat1esquema INTEGER,
  34.   npiezaslat2esquema INTEGER,
  35.   nmultiploscentrales INTEGER,
  36.   npiezaslat1 INTEGER,
  37.   npiezaslat2 INTEGER,
  38.   porcretorno DOUBLE PRECISION,
  39.   porclat1espbajo DOUBLE PRECISION,
  40.   porclat1espalto DOUBLE PRECISION,
  41.   porclat2espbajo DOUBLE PRECISION,
  42.   porclat2espalto DOUBLE PRECISION,
  43.   sumaanchoslaterales DOUBLE PRECISION,
  44.   sumaanchoscentrales DOUBLE PRECISION,
  45.   porcpzasempalilladas DOUBLE PRECISION,
  46.   porcpzasnoempalilladas DOUBLE PRECISION,
  47.   anchomincentral DOUBLE PRECISION,
  48.   anchomaxcentral DOUBLE PRECISION,
  49.   rendpotencial DOUBLE PRECISION,
  50.   volconsumounitario DOUBLE PRECISION,
  51.   rendcentral DOUBLE PRECISION,
  52.   rendlateral DOUBLE PRECISION,
  53.   cortecruz CHARACTER(2),
  54.   porcrecupcentrales DOUBLE PRECISION,
  55.   anchomediocentral DOUBLE PRECISION,
  56.   npiezascentrales DOUBLE PRECISION,
  57.   "VelocidadEsquemaTotal" DOUBLE PRECISION,
  58.   "VelocidadSeteoLinea" DOUBLE PRECISION,
  59.   CONSTRAINT pk_simulaciones PRIMARY KEY (simcodigo, item),
  60.   CONSTRAINT fk_simulaci_reference_esquemap FOREIGN KEY (item, esqcodigo, patcodigo, profolio, refcreacion, rendimiento)
  61.       REFERENCES esquemaprograma (item, esqcodigo, patcodigo, profolio, refcreacion, rendimiento) MATCH SIMPLE
  62.       ON UPDATE RESTRICT ON DELETE RESTRICT
  63. )
  64. WITHOUT OIDS;
  65. ALTER TABLE simulaciones OWNER TO postgres;
  66. COMMENT ON TABLE simulaciones IS 'Tabla de simulaciones anexadas a un programa';

Código SQL:
Ver original
  1. -- Table: esquemaprograma
  2.  
  3. -- DROP TABLE esquemaprograma;
  4.  
  5. CREATE TABLE esquemaprograma
  6. (
  7.   item INTEGER NOT NULL DEFAULT 1,
  8.   profolio CHARACTER VARYING(9) NOT NULL,
  9.   esqcodigo INTEGER NOT NULL,
  10.   patcodigo CHARACTER VARYING(4) NOT NULL,
  11.   refcreacion DATE NOT NULL,
  12.   rendimiento DOUBLE PRECISION NOT NULL,
  13.   pzasesquema INTEGER,
  14.   observaciones CHARACTER VARYING(100),
  15.   CONSTRAINT pk_esquemaprograma PRIMARY KEY (item, esqcodigo, patcodigo, profolio, refcreacion, rendimiento),
  16.   CONSTRAINT fk_esquemap_esquemapr_programa FOREIGN KEY (profolio)
  17.       REFERENCES programa (profolio) MATCH SIMPLE
  18.       ON UPDATE RESTRICT ON DELETE RESTRICT,
  19.   CONSTRAINT fk_esquemap_esquemapr_rendimie FOREIGN KEY (esqcodigo, patcodigo, refcreacion, rendimiento)
  20.       REFERENCES rendimientosimulado (esqcodigo, patcodigo, refcreacion, rendimiento) MATCH SIMPLE
  21.       ON UPDATE RESTRICT ON DELETE RESTRICT
  22. )
  23. WITH OIDS;
  24. ALTER TABLE esquemaprograma OWNER TO postgres;
  25. COMMENT ON TABLE esquemaprograma IS 'Tabla de los esquemas asociados a un programa';
  26.  
  27.  
  28.  
  29.  
  30. -- Trigger: calcula_trozos on esquemaprograma
  31.  
  32. -- DROP TRIGGER calcula_trozos ON esquemaprograma;
  33.  
  34. CREATE TRIGGER calcula_trozos
  35.   AFTER INSERT
  36.   ON esquemaprograma
  37.   FOR EACH ROW
  38.   EXECUTE PROCEDURE calcula_trozos_tri();