Zadejte hledaný výraz...

Pomoc s SQL dotazem

David Flídr
verified
rating uzivatele
(22 hodnocení)
23. 8. 2012 12:33:41
Zdravím,
mám tu menší zádrhel s SQL dotazem. Mám tabulku s kategoriemi, pak tabulku s obrázky. Vypisuji to vše najednou. Dotaz mi fungoval, ale nyní bych chtěl přidat možnost řazení, že zvolím jednu hlavní fotografii a ta se bude zobrazovat první. V tomto SQL dotazu to funguje, ale pouze jen když zvolím jako hlavní fotku která se vypíše do 10 nebo 11 místa. Max může být 30 fotek. Jak to upravit, aby i když zvolím 25 fotku, byla při výpisu na prvním místě? Děkuji za odpovědi
select i.*, m.main_photo, m.link, m.thumb_link, m.id as id_img from (select * from img_blok order by cas desc limit 1, 7 ) i left join images m on i.id = m.podkat and m.id<=ifnull((select a.id from images a where m.podkat=a.podkat order by a.id limit 10,1),m.id) order by i.id desc, m.main_photo desc
23. 8. 2012 12:33:41
https://webtrh.cz/diskuse/pomoc-s-sql-dotazem/#reply799727
vlnk
verified
rating uzivatele
(4 hodnocení)
23. 8. 2012 12:58:42
Jak se pozná, která fotka je hlavní? Podle zadaného pořadí?
např. hlavní fotka je 25. a dělám dotaz, který vrátí 25. fotku jako první. Co se má stát, když je fotek třeba jen 5?
Prostě to popište jako člověk, který zná obsah obou tabulek, ale nesnaží se říct, jaký postup má počítač zvolit.
23. 8. 2012 12:58:42
https://webtrh.cz/diskuse/pomoc-s-sql-dotazem/#reply799726
David Flídr
verified
rating uzivatele
(22 hodnocení)
23. 8. 2012 13:22:27
Zjednodušeně ještě jednou: jsou 2 tabulky img_blok a images, v tabulce img_blok je uložen název jednotlivých bloků obrázků a v images jsou pak uloženy jednotlivé obrázky, cílem je jedním dotazem vypsat název bloku + zobrazit 10 obrázků k jednotlivým blokům, ale seřadit je s klíčem main_photo = 1 a pak main_photo = 0.
hlavní fotka má v tabulka images sloupci main_photo vždy 1, ostatní 0
23. 8. 2012 13:22:27
https://webtrh.cz/diskuse/pomoc-s-sql-dotazem/#reply799725
martinzsa
verified
rating uzivatele
(1 hodnocení)
23. 8. 2012 14:57:36
napis presnu strukturu oboch tabuliek(idealne obr db struktury) lebo ten select sa mi vidi ako pekna divocina a nechce sa mi nad nim premyslat ze kde je co...
ale na skusku si zmen v order by i.id desc, m.main_photo desc na order by m.main_photo desc, i.id desc
23. 8. 2012 14:57:36
https://webtrh.cz/diskuse/pomoc-s-sql-dotazem/#reply799724
vlnk
verified
rating uzivatele
(4 hodnocení)
23. 8. 2012 14:59:56
select xx.* from (
select @1:= case when main_photo=1 then 1 else @1 + 1 end as poradi,x.* from (
select i.*,m.*
from img_blok i left join images m on i.id = m.podkat
order by i.id,m.main_photo desc,m.id desc
)x
)xx where poradi<11
23. 8. 2012 14:59:56
https://webtrh.cz/diskuse/pomoc-s-sql-dotazem/#reply799723
David Flídr
verified
rating uzivatele
(22 hodnocení)
23. 8. 2012 15:40:17
struktura tabulek:
images (id, link, thumb_link, cas, kat, podkat, main_photo)
img_blok (id, orig_nazev, nazev, cas, id_kategorie, view, view_week)
23. 8. 2012 15:40:17
https://webtrh.cz/diskuse/pomoc-s-sql-dotazem/#reply799722
duben
verified
rating uzivatele
(49 hodnocení)
23. 8. 2012 16:25:11
Zkus tohle (jen jsem přidal řazení do ifnull), to ifnull mi přijde jak hloupost, ale překopal bych ten dotaz, až pokud by to takhle nefungovalo. Tak dej vědět jak to vypadá.
23. 8. 2012 16:25:11
https://webtrh.cz/diskuse/pomoc-s-sql-dotazem/#reply799721
David Flídr
verified
rating uzivatele
(22 hodnocení)
23. 8. 2012 16:30:38
Přesně takhle jsem si s tím už hrál, ale nefunguje to podle představ. Tento dotaz mi tu kdysi dělal někdo na webtrhu. Klidně není problém ho překopat.
Pro případné zájemce ještě jednou: z img_blok to vypíše jednotlivé kategorie a v každé kategorii by to mělo vypsat 11 obrázků na jeden dotaz. Nyní to funguje tak že dotaz mi vypíše ke každému obrázku i jméno kategorie, ale to si ošetřuji v php.
23. 8. 2012 16:30:38
https://webtrh.cz/diskuse/pomoc-s-sql-dotazem/#reply799720
Adam Žurek
verified
rating uzivatele
(5 hodnocení)
23. 8. 2012 19:18:32
co přesně nefunguje na tom dotazu?
23. 8. 2012 19:18:32
https://webtrh.cz/diskuse/pomoc-s-sql-dotazem/#reply799719
David Flídr
verified
rating uzivatele
(22 hodnocení)
24. 8. 2012 10:43:28
dotaz funguje, ale jen pouze pokud je označené hlavní foto main_photo = 1 tuším v první desítce výpisu, tak je na prvním místě, pokud není v první desítce, tak se ani nezobrazí ve výběru
24. 8. 2012 10:43:28
https://webtrh.cz/diskuse/pomoc-s-sql-dotazem/#reply799718
Adam Žurek
verified
rating uzivatele
(5 hodnocení)
1. 9. 2012 23:17:25
Napsal fida8;835859
dotaz funguje, ale jen pouze pokud je označené hlavní foto main_photo = 1 tuším v první desítce výpisu, tak je na prvním místě, pokud není v první desítce, tak se ani nezobrazí ve výběru
co na tom mým dotazu nefakalo?
1. 9. 2012 23:17:25
https://webtrh.cz/diskuse/pomoc-s-sql-dotazem/#reply799717
Pro odpověď se přihlašte.
Přihlásit