Autor | Zpráva | ||
---|---|---|---|
krteczek Profil |
#1 · Zasláno: 23. 3. 2006, 17:40:29
dobrý den, mám takový problém, tahám z db z tabulky temy nazev, seonazev, uvodnik a z tabulky komentare potrebuji dostat počet záznamů které ve sloupci id_temy maji stejne id jako prave zobrazeny uvodnik => potrebuji jen cislo odpovidajici počtu komentaru k tomu tematu
dotaz vypadá takhle (je špatne:-(: select clanky.nazov as nazov, clanky.seonazov as seonazov, clanky.uvodnik as uvodnik, komentare.id_temy as pocet from clanky, komentare where komentare count(id_temy)=clanky.id order by clanky.id asc |
||
Acci Profil |
#2 · Zasláno: 23. 3. 2006, 17:47:07 · Upravil/a: Acci
SELECT clanky.nazov AS nazov, Ale nejsem si jistý |
||
WanTo Profil |
#3 · Zasláno: 23. 3. 2006, 17:50:46
Co znamená inner join?
|
||
mitr Profil |
#4 · Zasláno: 23. 3. 2006, 17:57:19 · Upravil/a: mitr
Já bych dal LEFT JOIN (preci neni urcite ke kazdemu clanku komentar)
a GROUP BY clanky.id (pokud je v tabulce clanky sloupec id) :) GROUP BY komentare.id_temy by preci vybralo jen tolik clanky k kterym odpovida nekolik komentaru a pritom kazdy pocet jen jednou :) |
||
krteczek Profil |
#5 · Zasláno: 23. 3. 2006, 18:14:15 · Upravil/a: krteczek
pokud vim tak inner je nepovinný parametr spojení: inner join => join
Acci: děkuji ale stále mi to píše chybu (group by i po prepsani podle rady mistr) : $dotaz="SELECT chyba:check the manual that corresponds to your MySQL server version for the right syntax to use near 'GROUP BY clanky.id' at line 11 |
||
mitr Profil |
#6 · Zasláno: 23. 3. 2006, 18:32:37
krteczek
Kdyžtak MITR ;-) Mistr nejsem :))))))) Jejda to je zápis :))))))))) a jkou chybu to píše ? Proč máš např: ".Tabulka_clanky.".nazov AS nazov, když to bude stejná název ? SELECT clanky.nazov, clanky.seonazov, clanky.uvodnik, COUNT(komentare.id_temy) AS pocet FROM clanky LEFT JOIN komentare ON clanky.id=komentare.id_temy GROUP BY clanky.id ORDER BY clanky.id ASC Proč to nepíšeš takto ? Pokud sis všimnul GROUP BY jsem dal před ORDER BY ;-) |
||
krteczek Profil |
#7 · Zasláno: 23. 3. 2006, 18:33:33
heh tak se mi to povedlo rozjet (nehlásí chybu) nejdříve má být group by a potom se řadí pořadí
$dotaz="SELECT díky všem za pomoc :-) krteczek |
||
krteczek Profil |
#8 · Zasláno: 23. 3. 2006, 18:37:07
mitr: Omlouvám se a díky, mne to zrovna napadlo :-) se spojováním tabulek nemám žádné zkušenosti ale vzpoměl jsem si na to co psali na linuxsoftu (četl jsem to asi pred dvema hodinama), o pořadí těch váběrových klauzulí a že order by je až poslední
krteczek |
||
mitr Profil |
#9 · Zasláno: 23. 3. 2006, 18:37:09
Když se na to teď koukám v tom okleštěném stavu ...
komentare.id_temy je sloupec ktery obsahuje id clanku doufam ? protoze pokud id tema (kategorie) tak to samozrejme nemuze fungovat :) |
||
krteczek Profil |
#10 · Zasláno: 23. 3. 2006, 18:49:32
mitr: jedne se jen o jednoduche forum, kde jsou publikované články a registrovaní useri muzou pridavat komentare, nemá více urovní jen clanky alias temy a komentare
krteczek |
||
Kajman_ Profil * |
#11 · Zasláno: 23. 3. 2006, 19:51:10
Pokud je v pocet null místo nuly, tak se to řeší např. takto
IFNULL(COUNT(".Tabulka_komentare.".id_temy),0) AS pocet |
||
mitr Profil |
#12 · Zasláno: 23. 3. 2006, 20:00:03
Kajman_
Tam ale nebude nikdy NULL ne ? |
||
krteczek Profil |
#13 · Zasláno: 23. 3. 2006, 20:10:14
nepoužívám vlastnost null, nějak mi nesedi, lip se mi počítá s hodnotou ktera je jakakoliv nebo neni vubec ale ne jakakoliv nijaka nějaka null
|
||
Leo Profil |
#14 · Zasláno: 23. 3. 2006, 20:39:26
"nepoužívám vlastnost null, nějak mi nesedi, lip se mi počítá s hodnotou ktera je jakakoliv nebo neni vubec ale ne jakakoliv nijaka nějaka null"
Takze vlastne nemate relacni databazi... Verte, ze kdyz si na ni zvyknete, hodne si zjednodusite svuj databazovy zivot, Leo |
||
Kajman_ Profil * |
#15 · Zasláno: 23. 3. 2006, 22:04:28
Tam ale nebude nikdy NULL ne ?
Nebude :-) nepoužívám vlastnost null Ve výše uvedeném případě ano... možná o tom ani nevíte. |
||
juneau Profil |
#16 · Zasláno: 24. 3. 2006, 17:37:29
podobna vec se resila nedavno tady, mozna to nekomu prijde uzitecne: http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=28&topic=2 2254
|
||
24k Profil * |
#17 · Zasláno: 25. 3. 2006, 20:08:02
OT: Krteczek si libuje v "prasackejch zapisech" , mozna jsou vice syntakticky spravne, ale precte to sotva autor.
|
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0