Registrace nového uživatele     Návod     Kluby     Archív  Lopuchu     Lopuch.cz  

Náš Lopuch Vám
vytře zrak

Lopuch.cz

Jméno:
Heslo:
Podpora LCD:
 
Klub Database (mysql,...) [ŽP: neomezená] (kategorie Programování) moderuje melkor_unlimited.
Archiv
  Nastavení klubu     Nastavení práv     Homepage     Anketa     Přítomní     Oblíbené     Lopuch     Kategorie  
autor: 
text: 
vyplnit a 
Help
 Titulek, text příspěvku  
Opište pozpátku následující text bez prostředního znaku: nhcjjum
[ 1008 ] <Novější  <<<Nejnovější  Nejstarší>>>  Starší>  
straka82 Straka82 8.2.2015 20:01  1490
Mam tabulku "pocty":

id|pocet_lidi|cena|misto
--------------
1|2|100|praha
2|2|120|usti
3|2|90|ostrava
4|3|150|brno
5|3|120|olomouc
6|4|200|pardubice
7|4|220|hradec

jakym dotazem vyberu vsechny pocty_lidi s nejmensi cenou? tedy vysledek aby byl:

3|2|90|ostrava
5|3|120|olomouc
6|4|200|pardubice

? Zkousel jsem vselijake slozene, vnorene dotazy, having (min) atd, uz mi z toho jde hlava kolem :) Diky moc
knedle knedle online - Krabice živých 30.3.2014 20:30  1489
King [1488]: vim, ze to reseni kulha na obe nohy, ale v ramci toho jak si to predstavuju (celou funkčnost) je to (pro mne) nejvyhodnejsi

postgres, json field - zajimave, neznal jsem, budu o tom premyslet

nicmene uz to mam hotovo, takže okamzity přechod nehrozi - ted budu ladit a ladit sql
king King Born to be king - ... 28.3.2014 20:04  1488
Na to je SQL skutecne velmi velmi nevhodna platforma. Doporucoval bych alespon pouzit Postgres a jeho JSON field.

Jinak ze zkusenosti (stavel jsem podobne db ala imdb a spol) si usetris hodne prace kdyz proste budes mit specializovane tabulky + nastroje na jejich spravu spis nez mit super obecne tabulky a snazit se to postavit v SQL nad tim.
knedle knedle online - Krabice živých 27.3.2014 10:48  1487
King [1486]: snazim se udelat univerzalni wiki pro knižní světy

kde postava u světa A má jiné vlastnosti než postava u světa B
king King Born to be king - ... 26.3.2014 19:14  1486
A proc mas tabulku objekt a ne tabulku herec, film atp? Co tim chces ziskat?
themajkl themajkl All those moments will be lost in time - like tears in rain. 26.3.2014 15:36  1485
knedle [1484]: Jednoznačné id každého záznamu je často velmi vhodné; do určité míry to jde nahradit rowid, ale aspoň u Informixu se na to nedá univerzálně vždycky spolehnout.
knedle knedle online - Krabice živých 26.3.2014 15:17  1484
oprava: tak opakovane to asi nepůjde, musel bych pridat id na definovane spojeni
knedle knedle online - Krabice živých 26.3.2014 14:14  1482
knedle [1481]: takže tak na půl cesty

pouzil jsem ten tvůj case when pro ziskani ID spojovanych objektu
a ty pak v druhém sql dotazu vyzobl i s daty

a jako dobrý

funguji i nad objekty shodného typu, a to opakovane, protoze si to filtruji podle definovaneho typu atributu s objektem
knedle knedle online - Krabice živých 24.3.2014 22:13  1481
themajkl [1480]: pravda - case selectu je dobry reseni

- zkusim nejdriv tohle, jestli to dokazu generovat ke spravnemu cilovemu stavu
themajkl themajkl All those moments will be lost in time - like tears in rain. 24.3.2014 21:51  1480
Co něco jako
select (case 
         when obj1.typ="film" then obj1.jmeno
              else obj2.jmeno 
        end) jmeno_filmu,
       (case 
         when obj1.typ="herec" then obj1.jmeno
              else obj2.jmeno 
        end) jmeno_herce
  from objekt obj1, objekt obj2, objektob2objekt obj2obj
    where obj1.id=obj2obj.id1
          and obj2.id=obj2obj.id2
          and (obj1.typ = "film" or obj1.typ="herec")
          and (obj2.typ = "film" or obj2.typ="herec")

? Za předpokladu, že nebudou vazby herec-herec, nebo film-film. Ale je to od pasu bez přemýšlení.
knedle knedle online - Krabice živých 24.3.2014 21:20  1479
dotazresim aktualne tento problem:
prosím o vaše komentáře - ať se můžu nějak rozhodnout

je to pokus o neco univerzalniho - což je chtěný cílový stav
ten kdo potkal EZpublish, tak dělam velmi velmi velmi zjednodušeně něco podobného


pro názornost si představte filmový web - film, herec, trailer...

mám tabulku OBJEKT - ve které která obsahuje všechny objekty, tj. objekty všech definovaných typů
a potřebuji nadefinovat spojením mezi temi objekty vazbou M:N, takže mám další tab - např. OBJEKT2OBJEKT - která obsahuje minimalné sloupce objekt_1_id, objekt_2_id

jenze při ukládání této vazby se mi může stát, že:
- přidávám herci film - tudíz objekt_1_id je Herec (1) - a objekt_id_2 je Film (3)
- přidávám filmu herce - tudíž objekt_1_id je Film (3) - a objekt_id_2 je Herec (2)

budu-li chtit z filmu pak zjistit herce a seradit je podle jména dostávám se do problémů:

1/ kostrbaté řešení, které si dokážu představit
- zjistím ID z možných uložení A:B + zjistím id z možných uložení B:A
- zjistena id pouziju pro sql pro vypis objektu

2/ budu ukladat data duplicitně
- vzdy když ulozim A:B, uložím i B:A

3/ doplním třetí sloupec do spojovaci tabulky, kde budu definovat typ spojení A_B nebo B_A
- pri ukladani sahnu do tab a zjistim, zda je existuje A_B nebo B_A a podle toho ulozim ve spravnem poradi
- pri vypisu pak opet zjistim spravne poradi a podle toho udelam join

4/ ? - jsou nějaké další možnosti?

pro co by jste se rozhodli vy?

---

za jakékoli vaše komentáře budu rád

knedle knedle online - Krabice živých 12.12.2013 14:44  1478
trochu jsem zase posunul to porovnavani dumpu sql databazi:

http://dump-comparer.3tecky.cz/
tvx tvx Myslet si, že svět je JEN takový, jak - ho v daný čas můžeme pochopit je hloupé. 2.10.2013 21:34  1477
to asi nebudes na spravnem miste...
krte30 28.9.2013 15:49  1476
Programování ve VBAHojky. Potřebovala bych poradit ohledně programování ve Visual Basic.
knedle knedle online - Krabice živých 10.9.2013 21:11  1475
huh [1474]: no já to dělal hlavně pro sebe :)

[ 1008 ] <Novější  <<<Nejnovější  Nejstarší>>>  Starší>  

(c) 2001-2011 Lopuch.cz   
Kontakt