

PHP, MySQL - Ako načítať stĺpce s rovakými názvami pri viacerých tabuľkách v SELECT?
Mám dve tabuľky, povedzme, že je tam štruktúra táto:
1. tabuľka TAB1
ID, abc, def, ghi
2. tabuľka TAB2
ID, jkl, mno
Tieto tabuľky spojím pomocou SELECT:
$sql = mysql_query("select * from tab1, tab2 where ghi=mno", $db);
$rec = mysql_fetch_array($sql);
Teraz chcem načítať hodnotu ID prvej tabuľky:
id1 = $rec[id];
Dostanem hodnotu ID druhej tabuľky TAB2, pretože v zozname položiek je ako posledné ID, ID tej druhej tabuľky TAB2. Aby som dostal ID prvej tabuľky TAB1, tak v SELECT tie tabuľky vymením:
$sql = mysql_query("select * from tab2, tab1 where ghi=mno", $db);
Lenže toto sa mi nezdá ako celkom čisté riešenie. Prípadne budem chcieť zistiť aj hodnotu ID TAB2. Je nejaký spôsob ako tieto údaje vyčítať, aby som ich nemusel za SELECT vypisovať?
$sql = mysql_query("select tab1.id, tab1.asd, tab1.def, tab1.ghi, tab2.id, tab2.jkl, tab2.mno from tab1, tab2 where ghi=mno", $db);
Môžeš si ten stĺpec vybrať zvlášť pod nejakým aliasom:
Alebo môžeš vybrať z druhej tabuľky len tie stĺpce, ktoré ťa zaujímajú (ak je medzi tými stĺpcami aj to druhé id, tak opäť treba alias):
Alebo najlepšie vymenovať všetky stĺpce a použiť alias kde treba, ale to si asi nechcel počuť.
Áno, tá prvá možnosť sa mi zdá najvhodnejšia. Ale vôbec ma nenapadlo, že sa to dá kombinovať s hviezdičkou. Keby ma to napadlo ani sa nepýtam, takže ďakujem. Ono by som to mohol vlastne nechať tak ako to je, ale nevyzeralo by to dobre. V prípade zmien by som to mohol náhodou zmeniť a potom by som hľadať chybu celú večnosť.