john.brown Posted April 1, 2006 Report Share Posted April 1, 2006 Ir divas tabulas: cat_id | parent_id | image cat_id | lng | title | desc Pirmajā tabulā katrs cat_id ir unikāls, otraja - cat_id+lng uninikāli. Gribētos ar vienu selectu dabūt ārā ierakstu no pirmās tabulas un visus ierakstus ar doto cat_id no otrās. Pašam galvā ir tik variants ar diviem selectiem :( Link to comment Share on other sites More sharing options...
Vebers Posted April 1, 2006 Report Share Posted April 1, 2006 SELECT t1.image, t2.* FROM tabula_1 t1, tabula_2 t2 WHERE t2.cat_id=t1.cat_id Link to comment Share on other sites More sharing options...
john.brown Posted April 1, 2006 Author Report Share Posted April 1, 2006 Uff... Jā, atvainojos, bremzēju šodien. Man nez kāpēc likās, ka ja otrā tabulā ir vairāki ieraksti ar vienu cat_id, tad ir kā viltīgi viņi jāaudzē kopā... Tik nekādi nevarēju saprast, kā :) Link to comment Share on other sites More sharing options...
john.brown Posted April 1, 2006 Author Report Share Posted April 1, 2006 (edited) jā, viss ir jauki, tik tā viņš atgiež tik datasetus cik ierakstu tabulā divi priekš katra cat_id. Tak jauki būtu to sabāzt vienā datasetā (tipa daudzmēru masīva), un pavisam skaisti, sašķirot pēc viena no tabulas 2 lauciņiem rindām ar noteiktu lng, tipa ORDER BY t2.title WHERE lng='lv'... (tik domas ilustrācijai) Ir tas iespējams? Edited April 1, 2006 by john.brown Link to comment Share on other sites More sharing options...
Delfins Posted April 1, 2006 Report Share Posted April 1, 2006 1. imho - mysql gadījumā nē 2. imho - priekš kam tik sarežgīti!? 3. ko tu sauc par datasetu? dataset parasti ir viens, rindas gan ir vairākas.. Link to comment Share on other sites More sharing options...
john.brown Posted April 1, 2006 Author Report Share Posted April 1, 2006 (edited) Jā, dotajā gadījumā ar datasetu biju domājis rindiņu, atvainojos par neprecizitāti. Sarežģīti, var būt... Tagad es to kārtoju ar skript, tak tā while() kļutu reizes īsāks un pati kārtošana prastāka. Bet ja ne, ne... Lai paliek kā ir :) Vot sāku domāt, varbūt tiešām vienkāršāk... Nē, nekā nebij, neiznāk vienkāršāk. Man vajadzētu minimāli dabūt t1.cat_id,t1.image, t2.title, t2.desc priekš vienas lng vērtības, un visas lng vērtības priekš cat_id. Edited April 1, 2006 by john.brown Link to comment Share on other sites More sharing options...
mrgenator Posted April 6, 2006 Report Share Posted April 6, 2006 man ir muļķīgs līdzīgs jautājums, kāvarētu dabūt no 2 tabulām kaut ko šādu: tab1 ID NAME1 A aaaa B bbbb C cccc tab2 ID NAME2 A www A qqqq B uuuuu A oooo B iiii Jādabū laukā šāds: aaa www+qqqq+oooo bbb uuuu+iiii Link to comment Share on other sites More sharing options...
GedroX Posted April 6, 2006 Report Share Posted April 6, 2006 Nekur neliksies - nāksies apstrādāt datus ar php. Mysql nav tādas agregātfunnkcijas, kas apvienotu tekstuālus ierakstus (skaitļiem - SUM()). Link to comment Share on other sites More sharing options...
mrgenator Posted April 6, 2006 Report Share Posted April 6, 2006 (edited) Nekur neliksies - nāksies apstrādāt datus ar php. Mysql nav tādas agregātfunnkcijas, kas apvienotu tekstuālus ierakstus (skaitļiem - SUM()). nu man tipa oraclis a kaa labaak iekš php apstraadaat? selecteejam vienu, selecteejam otru un kaa tad? Edited April 6, 2006 by mrgenator Link to comment Share on other sites More sharing options...
GedroX Posted April 6, 2006 Report Share Posted April 6, 2006 SELECT * FROM tab1 a LEFT JOIN tab2 b ON a.id = b.id WHERE b.id IS NOT NULL ORDER BY a.id Un tad brauc cauri ar php un skaiti kopā... Link to comment Share on other sites More sharing options...
mrgenator Posted April 10, 2006 Report Share Posted April 10, 2006 SELECT * FROM tab1 a LEFT JOIN tab2 b ON a.id = b.id WHERE b.id IS NOT NULL ORDER BY a.id Un tad brauc cauri ar php un skaiti kopā... tev gadiijumaa kaut kur nemeetaajaas abals, kas skaita kopaa? Sorii, loms uz briidi domaat iestaajies. Ar oracli izskataas, ka var tikt cauti tikai creatojot funkciju un useejot to. Link to comment Share on other sites More sharing options...
andrisp Posted April 10, 2006 Report Share Posted April 10, 2006 Mysql nav tādas agregātfunnkcijas, kas apvienotu tekstuālus ierakstus (skaitļiem - SUM()). Ja nemaldos tad bija CONCAT(); Link to comment Share on other sites More sharing options...
mrgenator Posted April 11, 2006 Report Share Posted April 11, 2006 Ja nemaldos tad bija CONCAT(); vai arii || dereeja liekas... Link to comment Share on other sites More sharing options...
GedroX Posted April 11, 2006 Report Share Posted April 11, 2006 (edited) CONCAT() NAV agregātfunkcija. Bet GROUP_CONCAT() gan ir: http://dev.mysql.com/doc/refman/5.1/en/gro...-functions.html P.S. Funkcija ieviesta sākot no MySQL 4.1 versijas. SELECT a.id, GROUP_CONCAT(b.name2, '+') FROM tab1 a LEFT JOIN tab2 b ON a.id = b.id WHERE b.id IS NOT NULL GROUP BY a.id ORDER BY a.id Edited April 11, 2006 by GedroX Link to comment Share on other sites More sharing options...
bubu Posted April 11, 2006 Report Share Posted April 11, 2006 Lūdzu izlasiet uzmanīgāk, kādu par kādu DBPVS tas viss tiek prasīts! ORACLE, nevis MySQL. Link to comment Share on other sites More sharing options...
Recommended Posts