i have several tables containing key value pairs differint fields in database. have table that contains keys of these differint tables should selected value key. however, can't figure out how select these values multiple tables?
the tables
create table characters( id integer primary key, name varchar(64) ); create table media( id integer primary key, name varchar(64) ); create table episodes( id integer primary key, mediaid integer, name varchar(64) ); -- selecting table create table apps( id integer primary key, charid integer, episodeid integer, mediaid integer ); i selecting apps table, , want replace value of *id columns value of name in accomping table's name column. want done each row in apps table. so...
charid -> characters.name episodeid -> episodes.name mediaid -> media.name i have tried use joins, don't each row in apps table. have 18 rows in apps table, way less have in table or way more have in table. how can make each row in apps table?
you joining tables , selecting desired columns individual tables:
select c.name character_name, e.name episode, m.name media apps left join episodes e on e.id = a.episodeid left join media m on m.id = a.mediaid left join characters c on c.id = a.charid; if want present rows in specific order, can specify final clause in select statement. can use field included tables; field not part of columns selected:
order a.id -- order apps.id or
order e.id, c.name -- order first episode id, character name etc
Comments
Post a Comment