![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 12.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mamy trzy tabele: Groups(id,name), Products(id,prod_name,group_id) PromoGroups(id, group_id) Do tabli PromoGroups zapisujemy grupy które są w promocji, następmnie z czym mam problem: Potrzebuje pobrać 3 losowe rekordy z tabeli PromoGroups, następnie, trzy rekordy z Groups gdzie id = group_id, następnie 4rekordy z products gdzie group_id = Groups.id. Chodzi o to żeby na stronie głównej wyświetlane były 3 grupy promocyjne towarów. Prosze o wszelkie sugestie jak Wy byście to rozwiązali. Z góry dziękuję za podpowiedzi. Ten post edytował Polidiota 20.01.2009, 11:21:10 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 286 Pomógł: 70 Dołączył: 13.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
No nie do końca...
bo z każdej grupy ma być po 4 produkty o ile dobrze zrozumiałem i 3 różnych grup, tak? A te zapytanie (nie testowałem) ale chyba zwróci 3 po prostu losowe rekordy wyniku złączenia, nie koniecznie z 3 różnymi grupami... Co do łączenia to łączyłbym tylko PromoGroups i Groups....
Ale to zapytanie też nie jest odporne na duplikaty, trzeba dodać GROUP BY group_id chyba... Później wynik z tego dać do prostego zapytania
Te sortowanie na końcu jest potrzebne aby łatwiej było w pętli wypisać produkty z tych samych grup w kolejności... P.S. po pracy sprawdzę te zapytanie i odpiszę, ale pewnie będzie do tej pory już gotowa odpowiedź... Ten post edytował EarthCitizen 20.01.2009, 12:24:32 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.10.2025 - 05:19 |