test2 Posted April 4, 2009 Report Posted April 4, 2009 Tātad kā jau iekš topic title un topic description nopratāt man vajag atlasīt datus no daudzam tabulām, un jautājums ir kā to vislabāk izdarīt? Man ir šāda situācija ir kopā 10 tabulas, kuras satur datus un katrai no tabulām ir lauks userid. Un tad nu man vajag atlasīt no šīm 10 tabulām datus kur userid ir vienāds ar kkādu noteikta lietotāja id. Kā izskatīsies selects? Quote
renathy Posted April 4, 2009 Report Posted April 4, 2009 Var atlasīt pa daļām, piemēram: $query1 = 'select * from table1 where user_id = '.$id; $query2 = 'select * from table2 where user_id = '.$id; $query3 = 'select * from table3 where user_id = '.$id; ... Man šķiet, ka var arī salikt visu vienā kverijā: $query1 = 'select * from table1, table2, table3, table4... where table1.user_id = '.$id.' and table1.user_id = table2.user_id and table1.user_id = table3.user_id and table1.user_id = table4.user_id...'; Quote
test2 Posted April 4, 2009 Author Report Posted April 4, 2009 Sk, varbūt kādam ir kas labāks padomā? Quote
bubu Posted April 4, 2009 Report Posted April 4, 2009 Ja atlasāmo lauku skaits ir vienāds, tad var lietot UNION'u: (SELECT a, b, c FROM table1 WHERE user_id=$id) UNION (SELECT d, e, f FROM table2 WHERE user_id=$id) ... Quote
Gints Plivna Posted April 4, 2009 Report Posted April 4, 2009 Atkarībā no tā kā vēlies atspoguļot resultātu varētu noderēt kāds no savienojumu veidiem vai arī ka jau minēja kopas operators UNION, tikai ļoti jau nu izskatās, ka jālieto UNION ALL nevis vienkārši UNION. Par atšķirībām skat norādītajā rakstā. Gints Plivna http://datubazes.wordpress.com Quote
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.