Zadejte hledaný výraz...
Jakub Glos
Webtrh.cz
Vývoj webových stránek na WordPressu a proklientský přístup pro freelancery
Třídenní infromacemi nabitý prezenční + online kurz v Praze od Webtrhu pouze za 2 871 Kč
Více informací

Vyhledávání v MySQL

Bacon
verified
rating uzivatele
(2 hodnocení)
14. 4. 2012 00:01:42
Napsal Aleš Jiříček;784024
na nauceni se databaze nejsou frameworky nejvhodnejsi, mozna na pochopeni principu, ale vsechny moznosti jak databazi stavet a proc to zrovna takhle je spravne, to se diky tomu nedozvis :)
Píšu to na základě osobní zkušenosti, kdy mi to hodně pomohlo nebát se a stavět databáze hasOne, hasMany, atd. Protože tu "programátorskou" stránku za tebe udělá framework sám, nemusíš řešit JOINy, atd.
14. 4. 2012 00:01:42
https://webtrh.cz/diskuse/vyhledavani-v-mysql/strana/2/#reply754133
hm
verified
rating uzivatele
(20 hodnocení)
14. 4. 2012 00:19:13
Napsal Bacon;784026
Píšu to na základě osobní zkušenosti, kdy mi to hodně pomohlo nebát se a stavět databáze hasOne, hasMany, atd. Protože tu "programátorskou" stránku za tebe udělá framework sám, nemusíš řešit JOINy, atd.
jj ja te chapu :) ja sem od ORM nakonec upustil :) pro moje slozitejsi reseni uz bylo nedostatecne, vykonove zaostavalo, takze jsem se vratil ke kohana_database nebo dibi a klasickym prepared statements :) Ale vim o cem mluvis, presto trvam an tom ze kdyz o tom nevis vubec nic, tak nemuzes pochopit ani jak ten framework vlastne funguje a hlavne proc tot ak je... coz je ale dulezity :) kdyz nevis proc, nemusis to pouzivat 100% spravne, takze byhc stejne kazdymu pred tim doporucil nastudovat minimalne teorii toho vseho... praxi to spis jen doladit a dopochopit
14. 4. 2012 00:19:13
https://webtrh.cz/diskuse/vyhledavani-v-mysql/strana/2/#reply754132
garfieldik
verified
rating uzivatele
(5 hodnocení)
14. 4. 2012 09:33:44
Ok, tak mě pls neukamenujte. Mam teda 3 tabulky.
1. např info o autech
2. např info o součástkách
3. spojení ID auta a ID součástky
Pochopil jsem, že musím použít JOIN příkaz. Furt ale nemůžu přijít na to, jak napsat, aby se zobrazily auta, které obsahují pouze součástky ze vstupního seznamu.
14. 4. 2012 09:33:44
https://webtrh.cz/diskuse/vyhledavani-v-mysql/strana/2/#reply754131
Jakub Starý
verified
rating uzivatele
(16 hodnocení)
14. 4. 2012 09:40:47
Napsal garfieldik;784052
Ok, tak mě pls neukamenujte. Mam teda 3 tabulky.
1. např info o autech
2. např info o součástkách
3. spojení ID auta a ID součástky
Pochopil jsem, že musím použít JOIN příkaz. Furt ale nemůžu přijít na to, jak napsat, aby se zobrazily auta, které obsahují pouze součástky ze vstupního seznamu.
SELECT id_auta WHERE id_soucastky=xx
14. 4. 2012 09:40:47
https://webtrh.cz/diskuse/vyhledavani-v-mysql/strana/2/#reply754130
garfieldik
verified
rating uzivatele
(5 hodnocení)
14. 4. 2012 09:47:19
Napsal lidstrom18;784056
SELECT id_auta WHERE id_soucastky=xx
Vždyť todle snad nemůže fungovat pro mojí potřebu. viz. první příspěvek
14. 4. 2012 09:47:19
https://webtrh.cz/diskuse/vyhledavani-v-mysql/strana/2/#reply754129
Jan Matoušek
verified
rating uzivatele
(12 hodnocení)
14. 4. 2012 11:41:31
máš 3 tabulky
auta - id_auta , dalsi sloupce...
soucastky - id_soucastky , dalsi sloupce...
relace_auta_soucastky - id_auta, id_soucasky
v relaci podle tvého příkladu bude:
id_auta | id_soucastky
1 | 23
1 | 12
1 | 1
2 | 1
2 | 2
2 | 3
2 | 4
3 | 3
3 | 5
atd
a např jméno auta vybereš jednoduše:
SELECT auta.jmeno
FROM relace_auta_soucastky JOIN auta ON auta.id = relace_auta_soucastky.id_auta
WHERE relace_auta_soucastky.id_soucastky = 1
a vrátí ti to auta s id 1 a 2
14. 4. 2012 11:41:31
https://webtrh.cz/diskuse/vyhledavani-v-mysql/strana/2/#reply754128
garfieldik
verified
rating uzivatele
(5 hodnocení)
14. 4. 2012 12:39:16
Díkes lidi za snahu, ale to stále není ono. Když je na vstupu pouze 1 (relace_auta_soucastky.id_soucastky = 1), tak se nemá vypsat žádný. Jo chápu, je to hodně špatnej příklad s těma autama.
14. 4. 2012 12:39:16
https://webtrh.cz/diskuse/vyhledavani-v-mysql/strana/2/#reply754127
hm
verified
rating uzivatele
(20 hodnocení)
14. 4. 2012 13:57:57
garfieldiku... ocividne proste neznas zaklady databaze jinak bys tak trivialni problem vyresil... otevri si tutorial na linuxsoft.cz a zacni od zacatku (nebo rpeskoc prvni dily kde se probiraji ty uplne zaklady a preskoc k relacim apod.) :) az pak budes mit konkretni problem v konkretnim pouziti a to tak ze uz budes mit vlastni reseni, ktere treba jen nebude fungovat uplne spravne, obrat se sem :) tady ti muzeme stokrat vyresit nejake problemy - btw Honza to vyresil spravne - ale ty stejne pak diky neznalosti reknes ze to spravne neni - protoze to reseni nechapes :)))
14. 4. 2012 13:57:57
https://webtrh.cz/diskuse/vyhledavani-v-mysql/strana/2/#reply754126
Marist
verified
rating uzivatele
14. 4. 2012 15:51:14
Zdravím všechny diskutující. Nejprve k obhajobě garfieldika: Nikdo z vás jeho dotaz nevyřešil správně, jelikož jste ho nikdo zřejmě nepochopili úplně. To, o co uživateli jde je, aby na výstupu byly pouze taková auta, která nemají ŽÁDNOU součástku navíc oproti vstupu. Tzn. při příkladu:
VSTUP: 19, 11, 20, 33
Auto1 součástky: 19, 23, 20, 11
Auto2 součástky: 19, 11
Auto3 součástky: 19, 20, 33
Musí výstup být Auto2, Auto3 (Auto 1 má součástku 23 která nebyla na vstupu)
Toto obstará například tento SQL dotaz:
Pozn.: Navrhované řešení zadavatelem mi nepříjde špatné, jelikož indexovat se dá pomocí FULLTEXTU a pokud by součástky v poli byly řazeny podle ID pak by FULLTEXT search byl rychlý, jednoduchý a udělal by to co zadavatel potřebuje
14. 4. 2012 15:51:14
https://webtrh.cz/diskuse/vyhledavani-v-mysql/strana/2/#reply754125
hm
verified
rating uzivatele
(20 hodnocení)
14. 4. 2012 15:57:26
aneb uz zas vymyslime sisata kola kdyz mame ty kulata... Nechapu jediny duvod delat neoc nenormalizovane... jedine co to prinese jsou problemy... ne treba hned, ale uplne klidne v budouicnu kdyz bude potreba pridat nejakou fci ktera uz takhle resit nepujde apod... je tady proste dobrej duvopd nedelat nenormalizovanou db a ja o tom nebudu dal diskutovat, tyhle svoje prasarny si delejte ve svejch systemech ale nikomu je prosim neradte
14. 4. 2012 15:57:26
https://webtrh.cz/diskuse/vyhledavani-v-mysql/strana/2/#reply754124
Marist
verified
rating uzivatele
14. 4. 2012 16:00:06
Aleši rád bych s Vámi souhlasil, přecejenom nemám s databázemi moc zkušeností, ale upřímně jste zde zatím nepředvedl nic "normalizovaného", co by odpovídalo řešení zadání.
14. 4. 2012 16:00:06
https://webtrh.cz/diskuse/vyhledavani-v-mysql/strana/2/#reply754123
hm
verified
rating uzivatele
(20 hodnocení)
14. 4. 2012 16:04:09
Napsal Marist;784159
Aleši rád bych s Vámi souhlasil, přecejenom nemám s databázemi moc zkušeností, ale upřímně jste zde zatím nepředvedl nic "normalizovaného", co by odpovídalo řešení zadání.
protoze to nikam nevede, zakladajici ho stejne nepouzije. Zadani je teoreticke... nejde o konkretni problem. Az bude mit konkretni problem s vlastnim nefunkcnim resenim, rad mu ho komplexneji pomohu vyresit, ted poradim jak nelepe mohu - prestante vymyslet p*coviny, prectete si o normlanich formach databazi a o vsem co s tim souvisi... treba pak nasi radu ani nebude potrebovat.
14. 4. 2012 16:04:09
https://webtrh.cz/diskuse/vyhledavani-v-mysql/strana/2/#reply754122
takatom
verified
rating uzivatele
(2 hodnocení)
16. 4. 2012 11:09:46
Navržená struktura je OK.
select id_auta from relace_auta_soucastky group by id_auta having count(1)=sum(case when id_soucastky in (1, 3, 5, 6, 7) then 1 else 0 end) and count(1)>0
FW nepomohou, prostě potřebuji auta, jejichž všechny součástky jsou v seznamu.
16. 4. 2012 11:09:46
https://webtrh.cz/diskuse/vyhledavani-v-mysql/strana/2/#reply754121
Pro odpověď se přihlašte.
Přihlásit