Zadejte hledaný výraz...

SELECT MYSQL – Potrebujem pomôcť

RoyalManG
verified
rating uzivatele
(1 hodnocení)
18. 6. 2012 11:56:15
Zdravím všetkých,
riešim výber z tabuľky, v ktorom mám nejaký nadpis, správa a ID-čka ľudí komu je správa určená. Po prihlásení užívateľa mu potrebujem zobraziť správy, ktoré sú určené pre neho. Premýšľal som nad výberom riadkov z tabuľky pomocou "Like", ale to nebude fungovať správne nakoľko ak sa bude nachádzať v tabuľke užívateľ s ID 1 a 10, a dal by som podmienku ID 1, tak sa zobrazí správa aj tá, ktorá sa má zobraziť len užívateľovi s ID 10.
Ešte by som rád podotkol, že ID-čka sú oddelené čiarkou. Teda tabuľka s ID-čkami užívateľov môže vyzerať nasledovne: 1,5,10,15,32. Potrebujem zobraziť nadpis a správu, pre užívateľa s ID 1. Ako by ste tento "problém" riešili vy?
18. 6. 2012 11:56:15
https://webtrh.cz/diskuse/select-mysql-potrebujem-pomoct#reply776405
smrtka
verified
rating uzivatele
(3 hodnocení)
18. 6. 2012 12:01:23
Co takhle neprasit SQL takovouto pseudo-vazbou, udelat si normalni mezitabulku a pouzivat JOIN
18. 6. 2012 12:01:23
https://webtrh.cz/diskuse/select-mysql-potrebujem-pomoct#reply776404
RoyalManG
verified
rating uzivatele
(1 hodnocení)
18. 6. 2012 12:07:35
Ostatné veci mám riešené medzitabuľkami a JOIN-om, toto je ale výsledok multi checkboxu vo formulári odosielaný ajaxom. Je tam toho viac a preto keby som to mal všetko deliť do medzitabuliek, tak by toho bola plná spleť. Preto som to vyriešil takto a práve preto potrebujem teraz pomôcť s jeho výpisom.
18. 6. 2012 12:07:35
https://webtrh.cz/diskuse/select-mysql-potrebujem-pomoct#reply776403
martinzsa
verified
rating uzivatele
(1 hodnocení)
18. 6. 2012 12:08:01
prepracuj schemu toto co mas je nenormalizovane cize ZLE....
sprav si tabulky:
SPRAVA
-id_spravy
-nazov
-text
UZIVATEL
-id_uzivatela
-meno
-ostane veci co potrebujes
SPRAVA_PRE_UZIVATELA
-id_spravy
-id_uzivatela
a potom select vsetkych sprav pre uzivatela napr s ID=1 :
SELECT Nadpis, Sprava FROM Sprava INNER JOIN Sprava_Pre_Uzivatela ON Sprava.Id_spravy= Sprava_Pre_Uzivatela.Id_spravy WHERE Sprava_Pre_Uzivatela= 1
a to ze je to vysledok nejakeho multicheck boxu este neznamena ze sa to neda spravit cisto... Nenormalizovana schcema je jednoducho cesta do zahubi a potom aj jednoduche veci ktore z normalizovanej DB vytiahnes jednym selectom budes krkolomne tahat a hlavne zbytocne narocne...
18. 6. 2012 12:08:01
https://webtrh.cz/diskuse/select-mysql-potrebujem-pomoct#reply776402
smrtka
verified
rating uzivatele
(3 hodnocení)
18. 6. 2012 12:09:59
pokud hodlate dal takto prasit, tak "odporucam" hlidat si, aby i posledni prvek koncil tim oddelovacem (carka) a pak muzete hledat frazi "x+oddelovac"
pripominate mi jednoho dedu, co si koupil ferrari a pak jezdil jen na jednicku max 50km/h
18. 6. 2012 12:09:59
https://webtrh.cz/diskuse/select-mysql-potrebujem-pomoct#reply776401
Jan Stejskal
verified
rating uzivatele
(7 hodnocení)
18. 6. 2012 12:11:04
Jaký typ uložiště? U innodb vytvořit vazbu 1:N (tedy tabulka uzivatele a tabulka zpravy, kde jeden uzivatel muze mit N zprav), u myisam vytvorit tri tabulky, uzivatele, zpravy a spojovaci tabulku s id uzivatele a id zpravy.
18. 6. 2012 12:11:04
https://webtrh.cz/diskuse/select-mysql-potrebujem-pomoct#reply776400
Vit Hellebrand
verified
rating uzivatele
(3 hodnocení)
18. 6. 2012 12:12:17
Jak píše smrtka, měl bys udělat pořádnou databázi, aby byla rychlá ale jestli ti nejde o výkon, tak stačí toto:
A nahradíš si svými údaji.
18. 6. 2012 12:12:17
https://webtrh.cz/diskuse/select-mysql-potrebujem-pomoct#reply776399
RoyalManG
verified
rating uzivatele
(1 hodnocení)
18. 6. 2012 12:14:49
smrtka - áno, akurát ma to napadlo.
Ale nakoľko prášiť nechcem a chcem odvádzať kvalitnú prácu, tak na základe podnetov, ktoré tu odzneli, to idem prerobiť. ;-)
Jan Stejskal - Mám InnoDB. Tak teda akú štruktúru databázy by ste navrhovali? V tomto smere sa mám ešte čo učiť. Tak by sa mi rada v tomto smere ešte hodila.
Ešte by ma zaujímal váš názor. Ktorý typ databázy je podľa vás "lepší"? InnoDB alebo MyIsam?
Prečítal som si nejaké tie články medzičasom a rozhodol som sa celú databázu znormalizovať :-), však nech to aj nejako vyzerá a je to prehľadnejšie a logickejšie hneď na prvý pohľad :-).
18. 6. 2012 12:14:49
https://webtrh.cz/diskuse/select-mysql-potrebujem-pomoct#reply776398
S normalizací jste se rozhodl správně. Jednou za pár týdnů se tu objeví někdo s údaji oddělenými čárkou a ptá se, jak v nich hledat, jak updatovat apod. Rada je vždy stejná: Normalizujte ten sloupec.
Co se týče InnoDB vs MyIsam, používejte InnoDB. Je robustnější, dokáže narozdíl od MyIsam přežít pád databáze, zamyká řádky (ne celou tabulku jako MyIsam), umí transakce atd.
18. 6. 2012 16:32:21
https://webtrh.cz/diskuse/select-mysql-potrebujem-pomoct#reply776397
Pro odpověď se přihlašte.
Přihlásit