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

Diskuze na Lopuchu,
pohlazení na duchu

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: swzrzrm
[ 1008 ] <Novější  <<<Nejnovější  Nejstarší>>>  Starší>  
etdirloth EtDirloth 21.10.2007 10:45  558
noire [557]:
najjednoduchsie to spravis tak, ze pomocou right join si sparujes vsetkych autorov s poviedkami a naopak (to pises, ze si uz zvladol) a potom to v aplikacii spracujes podla potreby

ak to nutne potrebujes vratit priamo z SQL servera, tak by si si mohol vyskladat stlpec "autori" v nejakej stored funkcii (nepoznam moznosti MySQL4.1.3) s vystupom napr. ako csv (co by bolo pouzitelne aj priamo na vystupe - teda citatelne uzivatelom), resp. ako pole, xml, ... neviem ako to potrebujes

ak ocakavas, ze ti server vrati premenlivy pocet stlpcov pre premenlivy pocet autorov, tak to je sql-hovadina - jedinu rozumnu moznost takehoto vystupu mas v transponovani klasickeho vystupu (tym myslim pevny pocet stlpcov x N-riadkov)
noire noire svět není jen černobílý 21.10.2007 09:51  557
knedle: MySQL 4.1.3
Tessien: jj dari se mi vypsat
"nazev knihy, autori 5, povidka 1" a
"nazev knihy, autori 6, povidka 1".
Samozrejme chci jen jeden zaznam, kdyz je stejna povidka.
Zkousel jsem vyuzit GROUP_CONCAT([DISTINCT], ale misto aby to vyplivlo
"nazev knihy, autori 5, 6, povidka 1"
dostal jsem jen
"nazev knihy, autori 5, povidka 1".
Takze si proste nevim rady.
knedle knedle online - Krabice živých 21.10.2007 08:24  556
jaka db? mysql? jaka verze?
tessien Tessien Of course slavery is the worst thing - that ever happened. But maybe... 21.10.2007 01:35  555
noire [554]: nevim, jestli chapu spravne tvuj dotaz (resp. on to ani neni dotaz, nybrz oznameni), ale - tu vazbu co chces udelat tak, ze budes mit nekolik zaznamu v tabulce "napsane". Napr. kdyz ta tabulka bude mit sloupce "id_autor" a "id_povidka" a budes chtit k povidce s id 1 nastavit autory s id 5 a 6, tak budes mit dva zaznamy - 1,5 a 1,6.
noire noire svět není jen černobílý 21.10.2007 00:56  554
poprosim o radu.
mam tabuli "povidka", ktera obsahuje id knihy. Pak tabuli "autor" a tabuli "napsane", ktera tvori vazby mezi "autor" a "povidka".
Povidkovou knihu a povidky s jednotlivymi autory na vypis dostanu v poho. Jenze nedari se mi vypsat pripad, kdy se na jedne povidce podileji 2 autori. Ve smyslu "autor1, autor2, povidka". Max. se mi podari " autor1, povidka". Podotykam, nejsem zadny prebornik v mysql ani v php a db si delam jen pro sve katalogizacni potreby vlastnich knih. Diky za pripadne rady.
pepak pepak - Pepak.net 2.10.2007 13:08  553
Melo by. Doporucuju vyzkouset.
eso eso 2.10.2007 10:37  552
Ma dotaz, kdyz v mySQL udelam prikaz

UPDATE tabulka SET
pocet =0,
vysledek = pocet + 2;

spocita to nejprve vysledek z puvodni hodnoty pole pocet a az pak pocet vynuluje?
pepak pepak - Pepak.net 7.9.2007 12:03  551
NO ja bych rekl, ze pokud se na to ma jeste neco navazovat, tak nejrychlejsi bude ta procedura...
tvx tvx Myslet si, že svět je JEN takový, jak - ho v daný čas můžeme pochopit je hloupé. 7.9.2007 11:56  549
samotnyho by me to zajimalo srovnany z hlediska rychlosti....
tvx tvx Myslet si, že svět je JEN takový, jak - ho v daný čas můžeme pochopit je hloupé. 7.9.2007 11:56  548
mno, diky za rady, ten group_concat se mi urcite hodi nekde jinde... problem je ze to cely jeste samozrejme k sobe vaze dalsi tabulky a spojit to s tim... uvidim jak rychly to bude a v pripade problemu zkusim nejaky ty pokusy ale ono asi uz samo o sobe to group_concat asi nebude z nejrychlsjsich, myslim... a pak jeste sacovat v tom co to spojilo pomoci hledani patternu...
to co jsem nenchtel ale nakonec udelal mi prijde zas jako nejcitsi reseni z profesionalnho hlediska i kdyz cekam jak se to bude zpomaloat s pribejvanim zaznamu...
pepak pepak - Pepak.net 7.9.2007 11:34  547
Jeste me napadlo, ze by se to dalo udelat takovou zbesilou (nicmene funkcni) oklikou:

SELECT id1
FROM tabulka
WHERE id2 IN (20,40)
GROUP BY id1
HAVING COUNT(*)=2 -- pocet ruznych ID2 v zavorce

Jedinym omezenim je, ze dvojice (id1,id2) musi byt vzdy jedinecna.
pepak pepak - Pepak.net 7.9.2007 11:32  546
Viz GROUP_CONCAT
tvx tvx Myslet si, že svět je JEN takový, jak - ho v daný čas můžeme pochopit je hloupé. 7.9.2007 11:03  545
jde o mysql, id1 bude asi 25000, id2 asi stovky... uz jsem to udelal tak jak jsem psal... to co pises ty jsem prave doufal ze by mohlo existovat, neb by to slo vyuzit...
pepak pepak - Pepak.net 7.9.2007 10:53  544
Ale dost mozna ta procedura bude stejne rychlejsi...
pepak pepak - Pepak.net 7.9.2007 10:52  543
Hmmm. A v jake databazi to ma byt? Ja bych to treba ve Firebirdu 1.5 delal procedurou, ve 2.01 uz by to slo primo v selectu (je tam funkce, ktera posklada vic zaznamu do jednoho fieldu, pres ktery uz pak muzu udelat treba WHERE x LIKE '%,20,%' AND x LIKE '%,40,%')

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

(c) 2001-2011 Lopuch.cz   
Kontakt