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

Něco navíc v zeleném?
A proč ne...

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: pyjofuc
[ 1008 ] <Novější  <<<Nejnovější  Nejstarší>>>  Starší>  
knedle knedle online - Krabice živých 20.4.2011 09:10  1329
huh [1328]: diky - pouzil jsem druhe...
huh huh 13.4.2011 00:01  1328
dlouhe a rychle reseni: temp_tabulka (autoincrement, id); select ...  join temp_tabulka on id order by temp_tabulka.autoinrement
kratke a pomale: select ... order by FIELD(id, 154, 125, 198, 13, 159)
knedle knedle online - Krabice živých 12.4.2011 23:11  1327
dotazjde nejak mysql donutit aby mi vratila zaznamy tak jak jsou serazeny v podmince IN?

priklad

select * from kniha where kniha.id ín (154, 125, 198, 13, 159)

chci tohle poradi

bohuzel mi to vraci poradi dle id - 13,125,154,159,198


pepak pepak - Pepak.net 22.12.2010 13:13  1326
Ještě jsem neviděl wrapper, se kterým bych byl spokojený.
tvx tvx Myslet si, že svět je JEN takový, jak - ho v daný čas můžeme pochopit je hloupé. 22.12.2010 12:21  1325
Jakej kdo pouzivate DB wrapper pro MYSQL nebo i jinou DB v PHP a jak jste s tim spokojeny?
themajkl themajkl All those moments will be lost in time - like tears in rain. 22.12.2010 10:06  1324
tvx [1323]: No tak jistě, když tam zapleteš limit... ale v tom případě to záleží na tom, jestli chceš výsledek seřadit (order by). Pokud tam to řazení je, stejně musí projít všechno i s tím limitem.
tvx tvx Myslet si, že svět je JEN takový, jak - ho v daný čas můžeme pochopit je hloupé. 22.12.2010 10:02  1323
themajklpro pripad kdy vysledkam je ale 200tisic zaznamu, na nichz musi udelat distinct z vysledkem 50tisic a pote jich diky limitu 20 vypsat... bude trvani podle toho jak chapu zpracovani ja hodne rozdilny.
themajkl themajkl All those moments will be lost in time - like tears in rain. 22.12.2010 08:55  1322
tvx [1321]: Distinct by měl ovlivnit jen formát výpisu (ubere duplicity), celkové trvání selectu zůstane stejné.
tvx tvx Myslet si, že svět je JEN takový, jak - ho v daný čas můžeme pochopit je hloupé. 22.12.2010 08:51  1321
JJ, je to presne jak pise pepak, nepottrebuju ani tak vypisy ale potrebuju parametrizovat-automatizovat hledani v katalogu, nejlip nejak co nejhomogenejsim zpusobem, podumam, co z toho pro me bude snazsi... u distinct se bojim delky trvani.
themajkl themajkl All those moments will be lost in time - like tears in rain. 21.12.2010 22:27  1320
pepak [1318]: No tak ale to je blbě napsaný select, nebo aspoň špatně definované zadání. (Nemluvě o tom, že píšeš "vyhledávám autora", ale ten select hledá knihu (podle autora).) Takže ano, pokud chceš hledat podle něčeho jiného, než select vrací a chceš jen unikátní položky, je distinct dobré řešení.
knedle knedle online - Krabice živých 21.12.2010 22:24  1319
taky zalezi kolik toho vypisujes - reseni uz napsali ostatni

pridam jen, ze kdyz jsem to resil ja, ziskal id knihy (dle filtru)
a pomoci idknih jsem si vytahl do assoc tab vsechny prislusne autory

tj. 2 selecty, tri dotazy do db


drobne ot:

naposled jsem pouzil NotORM u teto struktury a s jeho pouzitim byl vystup velmi jednoduchy

jenze to bys musel mit strukturu db v urcitem tvaru (mozna to jde priohnout, ale ja ji tvoril primo pro toto db udelatko)
pepak pepak - Pepak.net 21.12.2010 22:14  1318
The Majkl: Protože se musíš podívat na reálné použití, ne na teoretické konstrukce. Obvykle nevyhledáváš jednoho konkrétního autora, ale všechny autory začínající daným řetězcem.

knihy(id, nazev): (1, 'abc'), (2, 'def')
autori(id, jmeno): (1, 'pepak'), (2, 'themajkl'), (3, 'huh'), 'pepazdepa')
autoriknih(kniha, autor): (1, 1), (1, 4), (2,1), (2, 2)

SELECT *
FROM knihy
JOIN autoriknih ON autoriknih.kniha=knihy.id
JOIN autori ON autori.id=autoriknih.autor
WHERE autori.jmeno STARTING WITH 'pepa'

Pokud to napíšeš takhle (intuitivně, ale nesprávně), dostaneš ve výsledku knihu 1 dvakrát (jednou pro autora pepak a podruhé pro pepazdepa). Proto tvxovi radím, buď distinct nebo subselect, podle situace.
themajkl themajkl All those moments will be lost in time - like tears in rain. 21.12.2010 21:26  1317
pepak [1316]: Jak by mu tohle mohlo vrátit víc řádků, když pak logicky budeš mít v podmínce omezení na konkrétního autora?
pepak pepak - Pepak.net 21.12.2010 21:22  1316
J8 teda ten požadavek chápu opačně - chce vyhledat všechny knihy, na kterých se podílel zadaný autor.
themajkl themajkl All those moments will be lost in time - like tears in rain. 21.12.2010 21:00  1315
Něco podobného se řešilo minule, ne? Já bych šel cestou přidat sloupeček "autoři", čili to, co je na katalogu.

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

(c) 2001-2011 Lopuch.cz   
Kontakt