Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: jak to zrobic ? dwie tabele, mysql
Forum PHP.pl > Forum > Bazy danych > MySQL
bolo1005
witam, mam dwie tabele np:
create table komputer (nazwa varchar(20), płyta varchar(30), pamiec int, hdd int);
insert into komputer Values ( 'acer' , 'nvidia' , '2' , '80' );
insert into komputer Values ( 'IBM' , 'SiS' , '1' , '60' );
insert into komputer Values ( 'asus' , 'abit' , '4', '120' );
insert into komputer Values ( 'sony' , 'gigabyte' , '2' , '160' );
insert into komputer Values ( 'apple' , 'DFi' , '3' , '250' );
insert into komputer Values ( 'toshiba' , 'msi' , '2' , '160' );

create table oprogramowanie (nazwa varchar(20), system varchar(20));
insert into oprogramowanie Values ( 'acer' , 'xp' );
insert into oprogramowanie Values ( 'IBM' , 'linus' );
insert into oprogramowanie Values ( 'asus' , 'vista' );
insert into oprogramowanie Values ( 'sony' , 'home' );
insert into oprogramowanie Values ( 'apple' , 'pro' );
insert into oprogramowanie Values ( 'toshiba' , 'millenium' );


i teraz jak zrobic jak chce wyswietlic np acer i chcialbym zeby wyskoczylo mi wszystko o acer z tych dwoch tabel czyli jakie ma podzespoly (plyta, pamiec, hdd) i jakie ma oprogramowanie, chce sie wszystkiego dowiedziec o acer np

z gory dzieki za pomoc
nevt
proszę kod SQL ująć we właściwe znaczniki BBcode
  1. SELECT * FROM `komputer` JOIN `oprogramowanie` USING (`nazwa`);


EDIT: zapomniałem o nawiasach przy USING()...
EDIT 2: no zaspany chyba byłem, oczywiście powinno być `nazwa` a nie 'nazwa'...
bolo1005
dzieki nevt za odpowiedz ale cos nie smiga, wkleilem twoje polecenie do mysql i error :/

z nawiasami tez nie chodzi, chcialbym zeby wyswietlilo mi wszystko o acer, czyli pobralo z dwoch tabel wszystko o acer
tomek_
  1. SELECT k.nazwa, k.płyta, k.pamiec, k.hdd, o.system
  2. FROM komputer AS k, oprogramowanie AS o
  3. WHERE o.nazwa = k.nazwa AND k.nazwa = 'acer';



 zapytanie nevt zadziała jak się usunie apostrofy z USING i oczywiście dobrze by było dodać warunek że chodzi o np acera

  1. SELECT * FROM `komputer` AS k JOIN `oprogramowanie` USING (nazwa) WHERE k.nazwa='acer'
 
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.