.[ ČeskéHry.cz ].
sql dotaz

 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Obecné
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
uiii



Založen: 12. 08. 2007
Příspěvky: 251

PříspěvekZaslal: 19. březen 2009, 14:13:19    Předmět: sql dotaz Odpovědět s citátem

Č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
Zobrazit informace o autorovi Odeslat soukromou zprávu
rezna



Založen: 27. 07. 2007
Příspěvky: 2156

PříspěvekZaslal: 19. březen 2009, 14:34:27    Předmět: Odpovědět s citátem

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
Zobrazit informace o autorovi Odeslat soukromou zprávu
rezna



Založen: 27. 07. 2007
Příspěvky: 2156

PříspěvekZaslal: 19. březen 2009, 14:42:35    Předmět: Odpovědět s citátem

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
Zobrazit informace o autorovi Odeslat soukromou zprávu
uiii



Založen: 12. 08. 2007
Příspěvky: 251

PříspěvekZaslal: 19. březen 2009, 14:50:57    Předmět: Odpovědět s citátem

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 Smile.

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
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Obecné Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna