Witam Jak w zapytaniu łączącym kilka tablic zrobić limit dla jednej z nich ? mam takie zapytanie:
SELECT k.id AS kid, k.nazwa AS knazwa, pk.id AS pkid, pk.nazwa AS pknazwa, pr.id AS prid, pr.nazwa AS prnazwa FROM kategorie k LEFT JOIN podkategorie pk ON k.id = pk.wsk LEFT JOIN produkty pr ON pr.wsk = pk.id WHERE k.id = '11'
i chciałbym aby dla każdego złączenia pr.wsk = pk.id były np 5 rekordów
Można jakoś to wykonać w mysql ?
pozdro, mosh
mysql limit rekordów w join
Witam Jak w zapytaniu łączącym kilka tablic zrobić limit dla jednej z nich ? mam takie zapytanie:
SELECT k.id AS kid, k.nazwa AS knazwa, pk.id AS pkid, pk.nazwa AS pknazwa, pr.id AS prid, pr.nazwa AS prnazwa FROM kategorie k LEFT JOIN podkategorie pk ON k.id = pk.wsk LEFT JOIN produkty pr ON pr.wsk = pk.id WHERE k.id = '11'
i chciałbym aby dla każdego złączenia pr.wsk = pk.id były np 5 rekordów
Można jakoś to wykonać w mysql ?
pozdro, mosh
mosh
vbamania.blogspot.com//03/dzis-po-chwili-szperania-w-internecie.html
i chciałbym aby dla każdego złączenia pr.wsk = pk.id były np 5 rekordów
Można jakoś to wykonać w mysql ?
pozdro, mosh
vbamania.blogspot.com//03/dzis-po-chwili-szperania-w-internecie.html
zebym jeszcze cos z tego rozumial :(
i chciałbym aby dla każdego złączenia pr.wsk = pk.id były np 5 rekordów
Można jakoś to wykonać w mysql ?
pozdro, mosh
vbamania.blogspot.com//03/dzis-po-chwili-szperania-w-internecie.html
zebym jeszcze cos z tego rozumial :(
mosh
całość składa się z dwu części w podzapytaniu dodłem licznik swego rodzaju autonumer wierszy zwiększany o 1 w przypadku gdy photo_id jest takie samo jak wcześniejsze grupa zaś to informacja o grupie którą podliczamy
select * from (
SELECT r2.`id`, r2.`photo_id`, case when then 1 else 0 end) = 1 0 @rownum end as tr, @rownum:=1 AS rank, @grupa := r2.`photo_id` as gr FROM :=:=) r GROUP BY r2.`photo_id`, rank ) as tab_rank, `photos`
where (tab_rank.rank <=5) and (`photos`.`id` = tab_rank.`photo_id`)
w zapytaniu zaś głównym kolumna rank mówi nam o kolejności wystąpienia danego wiersza dla danego grupowania i wybieram tylko te wystapienia mniejsze równe 5