Registrace nového uživatele
Návod
Kluby
Archív Lopuchu
Lopuch.cz
Nudou jsi opuch?
Navštiv Lopuch!
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:
jafmvxv
[ 1008 ]
<Novější
<<<Nejnovější
Nejstarší>>>
Starší>
označené
neoznačené
rozsah
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
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
online -
Krabice živých
21.10.2007 08:24
556
jaka db? mysql? jaka verze?
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
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.net
2.10.2007 13:08
553
Melo by. Doporucuju vyzkouset.
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.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
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
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.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.net
7.9.2007 11:32
546
Viz
GROUP_CONCAT
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.net
7.9.2007 10:53
544
Ale dost mozna ta procedura bude stejne rychlejsi...
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ší>
označené
neoznačené
rozsah
(c) 2001-2011 Lopuch.cz
Kontakt