Autor | Zpráva | ||
---|---|---|---|
http Profil |
#1 · Zasláno: 26. 2. 2010, 12:26:49
ahoj kluci, potřeboval bych poradit
mám 4 tabulky: news, news_lang, kat_news, key_kat_news je asi jasné co v který je... dotaz: SELECT DISTINCT id_news, name_news, start_news, exp_news, script_news, sort_news, status_news, key_id_lang, name_kat_news FROM news LEFT JOIN news_lang ON (news.id_news = news_lang.key_id_news) LEFT JOIN key_kat_news ON (news.id_news = key_kat_news.key_news) LEFT JOIN kat_news ON (kat_news.id_kat_news = key_kat_news.key_kat) WHERE key_id_lang=1 ORDER BY sort_news DESC LIMIT 0, 10 musím spojit tabulky: news = tam jsou základní data news_lang = tam jsou texty kat_news = vytáhnu kategorie key_kat_news = srovnávací tabulka (news, kat_news), když je news v různých kategoriích jenže mi to vyhazuje duplicitně aktuality a nevím jak to vyřešit :( Díky moc Pavel |
||
Kajman_ Profil * |
#2 · Zasláno: 26. 2. 2010, 13:04:57
Zkuste použít např. group by id_news a sloupečky, kde může být k jedné novince více hodnot, obalit třeba agregační funkcí group_concat.
|
||
http Profil |
#3 · Zasláno: 26. 2. 2010, 13:37:37
GROUP BY pomohlo, děkuji Kajmane_
SELECT DISTINCT id_news, name_news, start_news, exp_news, script_news, sort_news, status_news, key_id_lang, name_kat_news FROM news LEFT JOIN news_lang ON (news.id_news = news_lang.key_id_news) LEFT JOIN key_kat_news ON (news.id_news = key_kat_news.key_news) LEFT JOIN kat_news ON (kat_news.id_kat_news = key_kat_news.key_kat) WHERE key_id_lang=1 GROUP BY news.id_news ORDER BY sort_news DESC LIMIT 0, 10 |
||
Kajman_ Profil * |
#4 · Zasláno: 26. 2. 2010, 14:53:33
Ale bez té agregační funkce budete mít jen jednu kategorii i když jich je přiřazeno třeba 10.
|
||
http Profil |
#5 · Zasláno: 27. 2. 2010, 16:26:20
tenhle dotaz je skládaný a je jako list news v adminu, když si chce pak redaktor vybrat články jen z kat 2, tak přidám do where key_kat=2 a funguje to skvěle...
Ale přesto, mohl by jste mi tedy napsat příklad "group_concat" s použitím mého dotazu? koukal jsem sem: http://php.vrana.cz/vypis-dat-ze-zavislych-tabulek.php nicméně to nějak ještě nechápu... Díky Pavel |
||
Časová prodleva: 13 let
|
0