reiniger Posted August 10, 2011 Report Share Posted August 10, 2011 (edited) Sveiki Izstāstīšu ar mazu paraugu. tabula 1 id | name 1 | zilonis tabula 2 id | name 1 | liels 2 | spalvains tabula mix id_tab_1 | id_tab_2 1 | 1 1 | 2 Vienvārdu sakot tabula 1 ir dažādi dzīvnieku vārdi un tabula 2 ir īpašības un ar mix ir saistītas. vienam ierakstam lai dabutu pilnu informāciju rakstu $sql = "SELECT * "; $sql .= "FROM tabula_1"; $sql .= "WHERE id = '$_id_' "; .... $sql = "SELECT * "; $sql .= "FROM tabula_2 AS sp "; $sql .= "LEFT JOIN tabula_mix AS sm ON (sm.id_tab_2 = sp.id ) "; $sql .= "WHERE sm.id_tab_1 = '$_id_' "; ... Lai attēlotu dzīvniekus (LIMIT 100) ar īpašibām, domāju ka nebūtu gudri iekš WHILE likt iekšā savu otro query, lai tas visu laiku man padod dzīvnieku īpašības. Jo uz lielu datu apjomu būs nenormāli daudz pieprasījumi uz serveri. Jautājums pēc kāda principa šādu situāciju atrisināt, lai nebūtu nenormāli daudz pieprasījumu uz vienu lapu? PS : Piemērs ir tikai, lai apjaustu manu situāciju un ja ir kļūdas, tad tikai piemēru taisot, jo man viss strādā. :) Edited August 10, 2011 by reiniger Quote Link to comment Share on other sites More sharing options...
briedis Posted August 10, 2011 Report Share Posted August 10, 2011 (edited) Ar vienu pieprasījumu atlasi 100 dzīvniekus, ar otru pieprasījumu katram no tiem īpašības. Lulz, aizmirsās par apakšpieprasījumiem :D Edited August 10, 2011 by briedis Quote Link to comment Share on other sites More sharing options...
codez Posted August 10, 2011 Report Share Posted August 10, 2011 (edited) SELECT * FROM tabula_mix tm LEFT JOIN tabula_2 t2 ON tm.id_tab_2=t2.id WHERE tm.id_tab_1 IN (SELECT id FROM tabula_1 LIMIT 100) Edited August 10, 2011 by codez Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.