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

Mostrar datos de una tabla dependiendo de otra

Estas en el tema de Mostrar datos de una tabla dependiendo de otra en el foro de Mysql en Foros del Web. Hola buenos días.. Tengo tres tablas: 1.- id_cal, startday, endday, route, destination, description 2.- id_empresa, nombre, direccion 3.- id,id_cal, id_empresa La idea es poder mostrar ...
  #1 (permalink)  
Antiguo 18/07/2017, 08:31
 
Fecha de Ingreso: octubre-2007
Mensajes: 52
Antigüedad: 12 años
Puntos: 0
Mostrar datos de una tabla dependiendo de otra

Hola buenos días..

Tengo tres tablas:
1.- id_cal, startday, endday, route, destination, description
2.- id_empresa, nombre, direccion
3.- id,id_cal, id_empresa

La idea es poder mostrar los datos de la tabla 1, dependiendo de la tabla 3.

Cuando se abre la página, me llga el id_empresa, por lo que solo debería de sacar los id_cal, de la tabla3, que correspondan al id_empresa que me llega, y mostrar de la tabla1 esos id_cal..

No se si me he explicado....

He estado buscando info y veo varias formas de hacerlo, una, que no me funciona, pero igual es la correcta pero lo hago mal, es esta:

Código PHP:
SELECT calendars.id_calDATE_FORMAT(calendars.startday'%d/%m/%y') AS event_timecalendars.routecalendars.destinationcalendars.description FROM calendars WHERE cal_emp.id_empresa=".$_SESSION['id_empresa']." ORDER BY startday"; 
Seguro que hay muchas cosas mal, pero podéis ayudarme? Como sería?

Muchas gracias
  #2 (permalink)  
Antiguo 28/07/2017, 22:42
 
Fecha de Ingreso: noviembre-2014
Ubicación: peru-lima
Mensajes: 32
Antigüedad: 5 años
Puntos: 2
Respuesta: Mostrar datos de una tabla dependiendo de otra

-- consulta
select tt1.*
from t1 tt1
join t3 tt3
on tt1.id_cal = tt3.id_cal
join t2 tt2
on tt2.id_empresa = tt3.id_empresa
where tt3.id_empresa = 'EM3';

-- en la tabla3 la clave primaria es -> primary key(claveT1, claveT2)
-- ------------------------------------------------------
-- ------------------------------------------------------
-- ------------------------------------------------------

-- bd
create table t1(
id_cal char(3) primary key,
startday date,
endday date,
route varchar(30),
destination varchar(30),
description varchar(30)
);

create table t2(
id_empresa char(3) primary key,
nombre varchar(30),
direccion varchar(30)
);
create table t3(
id_cal char(3),
id_empresa char(3),
primary key(id_cal, id_empresa)
);

insert into t1 values
('TA1','2017-01,01','2017-03-03','AAA','OOO','ABC'),
('TA2','2017-01,01','2017-03-03','III','daf','54g'),
('TA3','2017-01,01','2017-03-03','EEE','fdf','f3f');


insert into t2 values
('EM1','CardCard','Los cuadrados 333'),
('EM2','OliverA','Los triangulos 333'),
('EM3','Samsemsim','Los rectangulos 333');

insert into t3 values
('TA1','EM1'),('TA3','EM3'),('TA2','EM2');

select tt1.*
from t1 tt1
join t3 tt3
on tt1.id_cal = tt3.id_cal
join t2 tt2
on tt2.id_empresa = tt3.id_empresa
where tt3.id_empresa = 'EM3';

insert into t1 values
('TA4','2017-01,01','2017-03-03','AAA','OOO','ABC');

insert into t3 values
('TA1','EM1');
-- -----------------------
  #3 (permalink)  
Antiguo 28/07/2017, 22:44
 
Fecha de Ingreso: noviembre-2014
Ubicación: peru-lima
Mensajes: 32
Antigüedad: 5 años
Puntos: 2
Respuesta: Mostrar datos de una tabla dependiendo de otra

Cita:
Iniciado por ut261c Ver Mensaje
-- consulta
select tt1.*
from t1 tt1
join t3 tt3
on tt1.id_cal = tt3.id_cal
join t2 tt2
on tt2.id_empresa = tt3.id_empresa
where tt3.id_empresa = 'EM3';

-- en la tabla3 la clave primaria es -> primary key(claveT1, claveT2)
-- ------------------------------------------------------
-- ------------------------------------------------------
-- ------------------------------------------------------

-- bd
create table t1(
id_cal char(3) primary key,
startday date,
endday date,
route varchar(30),
destination varchar(30),
description varchar(30)
);

create table t2(
id_empresa char(3) primary key,
nombre varchar(30),
direccion varchar(30)
);
create table t3(
id_cal char(3),
id_empresa char(3),
primary key(id_cal, id_empresa)
);

insert into t1 values
('TA1','2017-01,01','2017-03-03','AAA','OOO','ABC'),
('TA2','2017-01,01','2017-03-03','III','daf','54g'),
('TA3','2017-01,01','2017-03-03','EEE','fdf','f3f');


insert into t2 values
('EM1','CardCard','Los cuadrados 333'),
('EM2','OliverA','Los triangulos 333'),
('EM3','Samsemsim','Los rectangulos 333');

insert into t3 values
('TA1','EM1'),('TA3','EM3'),('TA2','EM2');

select tt1.*
from t1 tt1
join t3 tt3
on tt1.id_cal = tt3.id_cal
join t2 tt2
on tt2.id_empresa = tt3.id_empresa
where tt3.id_empresa = 'EM3';

insert into t1 values
('TA4','2017-01,01','2017-03-03','AAA','OOO','ABC');

insert into t3 values
('TA4','EM3');
-- -----------------------

Etiquetas: dependiendo, order, select, tabla
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 16:43.