Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak połączyc dwie tabele nadrzedne ? mysql
Forum PHP.pl > Forum > Bazy danych > MySQL
bolo1005
Witam, mam za zadanie zrobic 2 tabele nadrzedne (głowne) i 5 podrzednych. Połączyłem kazda z nadrzednych z ich podrzednymi, ale teraz mam polaczyc dwie nadrzedne (główne). Ich cecha wspolna u mnie jest klient id, jak je polaczyc zeby wyswietlało sie wszystko łacznie z dwoch tabel nadrzednych i 5 podrzednych ? wszystko w sumie, pozdrawiam

create table klient (id int, imie varchar(20), nazwisko varchar(30), miasto int);
insert into klient Values ( '1', 'michal' , 'kapusta' , '1' );
insert into klient Values ( '2', 'jacek' , 'sasiad' , '2' );
insert into klient Values ( '3', 'zbyszek' , 'babel' , '3' );
insert into klient Values ( '4', 'mirek' , 'maly' , '4' );
insert into klient Values ( '5', 'zenon' , 'habiniak' , '5' );
select * from klient;

create table motocykle (id int, nazwa int, model int, pojemnosc int, moc int, kolor int, kraj_produkcji int, klient_id int);
insert into motocykle Values ( '1' , '1' , '1' , '600', '60', '1' , '1' , '1' );
insert into motocykle Values ( '2' , '2' , '2' , '500', '45', '2' , '2' , '2' );
insert into motocykle Values ( '3' , '3' , '3', '800', '70', '3' , '3' , '3' );
insert into motocykle Values ( '4' , '4' , '4' , '750', '65', '4' , '4' , '4' );
insert into motocykle Values ( '5' , '5' , '5' , '500', '40', '5' , '5' , '5' );
select * from motocykle;

create table miasto (id int, miasto varchar(20));
insert into miasto Values ( '1', 'sulechow' );
insert into miasto Values ( '2', 'wroclaw' );
insert into miasto Values ( '3', 'opole' );
insert into miasto Values ( '4', 'babimost' );
insert into miasto Values ( '5', 'gdynia' );
select * from miasto;

create table nazwa (id int, nazwa varchar(20));
insert into nazwa Values ( '1', 'aprila' );
insert into nazwa Values ( '2', 'suzuki' );
insert into nazwa Values ( '3', 'harley' );
insert into nazwa Values ( '4', 'bmw' );
insert into nazwa Values ( '5', 'java' );
select * from nazwa;

create table model (id int, model varchar(20));
insert into model Values ( '1', 'nsx' );
insert into model Values ( '2', 'nitro' );
insert into model Values ( '3', 'ninja' );
insert into model Values ( '4', 'super' );
insert into model Values ( '5', 'sport' );
select * from model;

create table kolor (id int, kolor varchar(20));
insert into kolor Values ( '1', 'czarny' );
insert into kolor Values ( '2', 'bialy' );
insert into kolor Values ( '3', 'srebrny' );
insert into kolor Values ( '4', 'czerwony' );
insert into kolor Values ( '5', 'zielony' );
select * from kolor;

create table kraj_produkcji (id int, kraj_produkcji varchar(30));
insert into kraj_produkcji Values ( '1', 'wlochy' );
insert into kraj_produkcji Values ( '2', 'japonia' );
insert into kraj_produkcji Values ( '3', 'USA' );
insert into kraj_produkcji Values ( '4', 'niemcy' );
insert into kraj_produkcji Values ( '5', 'czechy' );
select * from kraj_produkcji;

1) złączona jedna nadrzedna z jej podrzedna---select imie, nazwisko, miasto.miasto from klient, miasto where klient.miasto=miasto.id;

2) złaczona druga nadrzedna z jej podrzednymi---select nazwa.nazwa, model.model, pojemnosc, moc, kolor.kolor, kraj_produkcji.kraj_produkcji from motocykle, nazwa, model, kolor, kraj_produkcji where motocykle.nazwa=nazwa.id and motocykle.model=model.id and motocykle.kolor=kolor.id and motocykle.kraj_produkcji=kraj_produkcji.id;
AxZx
wszystko połącz za pomocą JOIN, LEFT JOIN lub INNTER JOIN.
bolo1005
no dobra to wiem ale mozesz mi napisac jak to bedzie wygladac??, jestem poczatkujacym uzytkownikiem mysql-a ;]
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.