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

Como hacer el inner join

Estas en el tema de Como hacer el inner join en el foro de Mysql en Foros del Web. Estimados foreros. Muy buenos dias, podrian ser tan amables de darme una mano y decir de que manera deberia realizar el INNER JOIN GRACIAS DE ...
  #1 (permalink)  
Antiguo 06/02/2013, 06:17
Avatar de livication  
Fecha de Ingreso: noviembre-2009
Mensajes: 78
Antigüedad: 14 años, 5 meses
Puntos: 0
Como hacer el inner join

Estimados foreros.

Muy buenos dias, podrian ser tan amables de darme una mano y decir de que manera deberia realizar el INNER JOIN

GRACIAS DE ANTE MANO


Código SQL:
Ver original
  1. $sql = ( " SELECT
  2.     p.profolio,
  3.     p.profecha,
  4.     ep.profolio,
  5.     ep.esqcodigo,
  6.     s.esqcodigo,
  7.     ps.prodtipo,
  8.     ps.prodmercado,
  9.     ps.prodescuadria,
  10.     ps.prodlargo,
  11.     ps.prodpzas,
  12.     ps.prodvolumen,
  13.     s.simtrozosconsumo,
  14.     r.consumotrozos
  15. FROM
  16.     programa AS p
  17.     JOIN esquemaprograma AS ep
  18.     JOIN simulaciones AS s
  19.     JOIN produccionsimulada AS ps
  20.     JOIN real AS r
  21. ON
  22.     p.profolio='$folio' OR
  23.     p.profolio='$folio1' OR
  24.     p.profolio='$folio2' OR
  25.     p.profolio=ep.profolio AND
  26.     ep.esqcodigo=s.esqcodigo AND
  27.     s.simcodigo=ps.simcodigo AND
  28.     s.item=ps.item AND
  29.     ep.esqcodigo=r.esqcodigo
  30. LIMIT
  31.     50
  32.     ");
  #2 (permalink)  
Antiguo 06/02/2013, 06:50
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Como hacer el inner join

Si nos muestras la estructura de las tablas y el resultado que quieres obtener será más fácil ayudarte.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 06/02/2013, 07:43
Avatar de livication  
Fecha de Ingreso: noviembre-2009
Mensajes: 78
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Como hacer el inner join

Estas son las estructuras de las tablas que utilizo. DAVID


Código SQL:
Ver original
  1. -- Table: programa
  2.  
  3. -- DROP TABLE programa;
  4.  
  5. CREATE TABLE programa
  6. (
  7.   profolio CHARACTER VARYING(9) NOT NULL,
  8.   mercod INTEGER NOT NULL,
  9.   turcodigo CHARACTER(2) NOT NULL,
  10.   oricodigo CHARACTER VARYING(10) NOT NULL,
  11.   ofabcod CHARACTER VARYING(20) NOT NULL,
  12.   profecha DATE,
  13.   volumensolicitado BIGINT,
  14.   _rechazo DOUBLE PRECISION,
  15.   volumenreal NUMERIC(6,2),
  16.   numtrozos INTEGER,
  17.   largo INTEGER,
  18.   largorecup CHARACTER VARYING(20),
  19.   pzaslargo INTEGER,
  20.   destino CHARACTER VARYING(6),
  21.   empalillado BOOLEAN,
  22.   macrolote CHARACTER VARYING(15),
  23.   observaciones CHARACTER VARYING(1000),
  24.   largoprod INTEGER,
  25.   material INTEGER,
  26.   bloqueado BOOLEAN DEFAULT FALSE,
  27.   CONSTRAINT pk_programa PRIMARY KEY (profolio),
  28.   CONSTRAINT fk_programa_relations_mercado FOREIGN KEY (mercod)
  29.       REFERENCES mercado (mercod) MATCH SIMPLE
  30.       ON UPDATE RESTRICT ON DELETE RESTRICT,
  31.   CONSTRAINT fk_programa_relations_orientac FOREIGN KEY (oricodigo)
  32.       REFERENCES orientacionlaterales (oricodigo) MATCH SIMPLE
  33.       ON UPDATE CASCADE ON DELETE RESTRICT,
  34.   CONSTRAINT fk_programa_relations_turno FOREIGN KEY (turcodigo)
  35.       REFERENCES turno (turcodigo) MATCH SIMPLE
  36.       ON UPDATE RESTRICT ON DELETE RESTRICT
  37. )
  38. WITHOUT OIDS;
  39. ALTER TABLE programa OWNER TO postgres;
  40. COMMENT ON TABLE programa IS 'Tabla de programas de aserradero creados';
  41.  
  42.  
  43. -- Index: programa_pk
  44.  
  45. -- DROP INDEX programa_pk;
  46.  
  47. CREATE UNIQUE INDEX programa_pk
  48.   ON programa
  49.   USING btree
  50.   (profolio);
  51.  
  52. -- Index: relationship_2_fk
  53.  
  54. -- DROP INDEX relationship_2_fk;
  55.  
  56. CREATE INDEX relationship_2_fk
  57.   ON programa
  58.   USING btree
  59.   (ofabcod);
  60.  
  61. -- Index: relationship_3_fk
  62.  
  63. -- DROP INDEX relationship_3_fk;
  64.  
  65. CREATE INDEX relationship_3_fk
  66.   ON programa
  67.   USING btree
  68.   (turcodigo);
  69.  
  70. -- Index: relationship_4_fk
  71.  
  72. -- DROP INDEX relationship_4_fk;
  73.  
  74. CREATE INDEX relationship_4_fk
  75.   ON programa
  76.   USING btree
  77.   (oricodigo);
  78.  
  79. -- Index: relationship_6_fk
  80.  
  81. -- DROP INDEX relationship_6_fk;
  82.  
  83. CREATE INDEX relationship_6_fk
  84.   ON programa
  85.   USING btree
  86.   (mercod);
  87.  
  88.  
  89.  
  90. -- Trigger: calcula_volumen on programa
  91.  
  92. -- DROP TRIGGER calcula_volumen ON programa;
  93.  
  94. CREATE TRIGGER calcula_volumen
  95.   AFTER INSERT OR UPDATE
  96.   ON programa
  97.   FOR EACH ROW
  98.   EXECUTE PROCEDURE calcula_volumen_tri();

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();

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: produccionsimulada
  2.  
  3. -- DROP TABLE produccionsimulada;
  4.  
  5. CREATE TABLE produccionsimulada
  6. (
  7.   simcodigo INTEGER NOT NULL,
  8.   item INTEGER NOT NULL DEFAULT 1,
  9.   prodtipo CHARACTER VARYING(2) NOT NULL,
  10.   prodmercado CHARACTER VARYING(20) NOT NULL,
  11.   prodescuadria CHARACTER VARYING(20) NOT NULL,
  12.   prodlargo NUMERIC(3,2) NOT NULL,
  13.   prodpzas INTEGER,
  14.   prodvolumen DOUBLE PRECISION,
  15.   CONSTRAINT pk_produccionsimulada PRIMARY KEY (simcodigo, item, prodtipo, prodmercado, prodescuadria, prodlargo),
  16.   CONSTRAINT fk_producci_relations_simulaci FOREIGN KEY (simcodigo, item)
  17.       REFERENCES simulaciones (simcodigo, item) MATCH SIMPLE
  18.       ON UPDATE RESTRICT ON DELETE RESTRICT
  19. )
  20. WITHOUT OIDS;
  21. ALTER TABLE produccionsimulada OWNER TO postgres;
  22. COMMENT ON TABLE produccionsimulada IS 'Tabla detalle de los datos anexados a un programa';

Código SQL:
Ver original
  1. -- Table: "real"
  2.  
  3. -- DROP TABLE "real";
  4.  
  5. CREATE TABLE "real"
  6. (
  7.   realcodigo 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.   consumotrozos INTEGER,
  15.   descripcion CHARACTER VARYING(100),
  16.   configuracion CHARACTER VARYING(100),
  17.   horaini CHARACTER(5),
  18.   horafin CHARACTER(5),
  19.   treal INTEGER,
  20.   tpotencial INTEGER,
  21.   tmuerto INTEGER,
  22.   tesperado INTEGER,
  23.   colacion INTEGER,
  24.   pzaska INTEGER,
  25.   pzaskb INTEGER,
  26.   rechazos INTEGER,
  27.   recuperaciones INTEGER,
  28.   largorecuperado INTEGER,
  29.   mercado CHARACTER VARYING(50),
  30.   esccant1 CHARACTER VARYING(15),
  31.   esccant2 CHARACTER VARYING(15),
  32.   pzasbuenascant1 INTEGER,
  33.   pzasbuenascant2 INTEGER,
  34.   pzasrechcant1 INTEGER,
  35.   pzasrechcant2 INTEGER,
  36.   pzasnewness INTEGER,
  37.   volumennewness DOUBLE PRECISION,
  38.   slashnewness DOUBLE PRECISION,
  39.   despuntenewness DOUBLE PRECISION,
  40.   observacion CHARACTER VARYING(1500),
  41.   fechareal DATE,
  42.   turnoreal CHARACTER(2),
  43.   responsable CHARACTER VARYING(15),
  44.   largoreal INTEGER,
  45.   fechafin DATE,
  46.   oricodigo CHARACTER VARYING(10),
  47.   CONSTRAINT pk_real PRIMARY KEY (realcodigo, item),
  48.   CONSTRAINT fk_real_reference_esquemap FOREIGN KEY (item, esqcodigo, patcodigo, profolio, refcreacion, rendimiento)
  49.       REFERENCES esquemaprograma (item, esqcodigo, patcodigo, profolio, refcreacion, rendimiento) MATCH SIMPLE
  50.       ON UPDATE RESTRICT ON DELETE RESTRICT
  51. )
  52. WITHOUT OIDS;
  53. ALTER TABLE "real" OWNER TO postgres;

Etiquetas: sql
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 21:46.