Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
uiii
Založen: 12. 08. 2007 Příspěvky: 251
|
Zaslal: 19. březen 2009, 14:13:19 Předmět: sql dotaz |
|
|
Čau,
potřebuju pomoc s vytvořením sql dotazu.
Mám následující situaci
kód: |
tabulka1:
id (int) jmeno (varchar) tabulka3_id (int)
----------------------------------------------------------
1 jmeno1 001
2 jmeno2 002
3 jmeno3 003
tabulka2:
tabulka1_id (int) tabulka4_id (int) definice (text)
--------------------------------------------------------------
1 0001 definice1
1 0002 definice2
2 0001 definice3
2 0002 definice4
3 0001 definice5
|
no a potřeboval bych nějak zformulovat sql dotaz, kde by byla podmínka tabulka3_id = 002:
kód: |
id (int) jmeno (varchar) definice (text)
-------------------------------------------------------------
2 jmeno2 definice3;definice4
|
Vlastně nevim ani jestli je to možný, jde mi hlavně o to spojeni obsahu více buněk do jedný.
Dík _________________ Twitter |
|
Návrat nahoru |
|
|
rezna
Založen: 27. 07. 2007 Příspěvky: 2156
|
Zaslal: 19. březen 2009, 14:34:27 Předmět: |
|
|
no byt to cisla tak jdou pouzit agregacni funkce jako AVG a SUM a bylo by to easy - pouzilo by se normalni GROUP BY
to jestli je agregacni operator na stringy nevim, my ho teda ve vlastnim jazyce mame, ale u SQL netusim |
|
Návrat nahoru |
|
|
rezna
Založen: 27. 07. 2007 Příspěvky: 2156
|
Zaslal: 19. březen 2009, 14:42:35 Předmět: |
|
|
tak zjevne agregacni funkce bezne podporovane jsou MAX, MIN, SUM, AVG, a obcas neco navic.
jeste me napada moznost sub-selectu - ale nevim jestli umi select zkonkatenovat svuj vysledek (jeden sloupec) do jednoho stringu
pokud je to porad o tve databazi slovicek je stejne znacne rychlejsi udelat si:
1) nepouzivat SQL databazi, je to nevhodny - jsou rychlejsi metody
---------------------
2) rozumnejsi ID - ty ID jako 0001 jsou divna (to jsou beztak stringy ne? - tam ani indexovani nepomuze a bude to pomaly - cislo je vzdy lepsi)
3) toto si zpracovat uz v aplikaci - obcas neni vhodny nechat vsechno na databazi, ktery typicky behava na oddelenem stroji a taky nechat neco spocitat uzivateluv pocitac |
|
Návrat nahoru |
|
|
uiii
Založen: 12. 08. 2007 Příspěvky: 251
|
Zaslal: 19. březen 2009, 14:50:57 Předmět: |
|
|
rezna napsal: |
no byt to cisla tak jdou pouzit agregacni funkce jako AVG a SUM a bylo by to easy .... |
No uz sem ani nasel odpoved, nevim jak jaky databaze ale mysql a sqlite (to pouzivam) maj agregacni fci group_concat(), coz je prave na stringy
rezna napsal: |
1) nepouzivat SQL databazi, je to nevhodny - jsou rychlejsi metody
|
No jako nevim, jaky metody by byly vhodnejsi? Jako ja bych rek ze databaze se na to co delam hodi nejvic, prave ze bude potrabovat delat vic takovyhlech slozitejsich dotazu, on to zas nebude jen tak primitivni zkousec slovicek ( a navic uz se mi ted fakt predelavat nechce, dalo mi to dost prace dostat se aspon sem .
rezna napsal: |
2) rozumnejsi ID - ty ID jako 0001 jsou divna (to jsou beztak stringy ne? - tam ani indexovani nepomuze a bude to pomaly - cislo je vzdy lepsi)
|
takovy tam zadny nemam to bylo jen pro priklad aby se to odlisilo od ostatnich id
rezna napsal: |
3) toto si zpracovat uz v aplikaci - obcas neni vhodny nechat vsechno na databazi, ktery typicky behava na oddelenem stroji a taky nechat neco spocitat uzivateluv pocitac |
Jasne rozumim, to bych taky tak udelal, kdyby byl problem to udelat v databazi, ale jak sem ted nasel to group_concat(), tak bych rek, ze je to idelani. _________________ Twitter |
|
Návrat nahoru |
|
|
|