Hallo zusammen,
ein kleines SQL-Problem verursacht mir Kopfzerbrechen.
Mal vereinfachen:
ich habe 4 Tabellen.
Ich möchte nun jeweils 5 Artikel in den Produktgruppen angezeigt bekommen, die aufgrund der Einträge in g_pg definiert sind
Alle anzeigen zu lassen ist kein Thema - oder für jede Produktgruppe jeweils einen - auch kein Problem.
Alle anzeigen:
ein zusätzliches 'group by t.product_group_id' liefert einen Artikel pro Produktgruppe
Ich hab mysql-Server 5.0.77 installiert.
Any ideas?
--- Optimierungsfragen --- s.u.
PS: ja ich weiss - select * ist scheisse - wird auch in der endgültigen Fassung geändert

ein kleines SQL-Problem verursacht mir Kopfzerbrechen.
Mal vereinfachen:
ich habe 4 Tabellen.
Artikel (art),
Ich habe nun Einträge in g_pg die mir sagen, das Produktgruppe 33 verweist auf 123 und 234 (2 rows in der Tabelle)keys: article_id
Produktgruppe (pg), keys: product_group_id
Produktgruppe_Artikel (pga) und keys: article_id, product_group_id
Gruppen_Pgs (g_pg)keys: source_pg_id, target_pg_id
Ich möchte nun jeweils 5 Artikel in den Produktgruppen angezeigt bekommen, die aufgrund der Einträge in g_pg definiert sind
Alle anzeigen zu lassen ist kein Thema - oder für jede Produktgruppe jeweils einen - auch kein Problem.
Alle anzeigen:
PHP:
select *
from article art,
( select pga.article_id, pga.product_group_id
from product_group_article pga
where pga.product_group_id IN ( select target_pg_id from the_look where cat_id = 1 and source_pg_id = 1653 )
order by RAND()
) as t
where art.article_id = t.article_id
Ich hab mysql-Server 5.0.77 installiert.
Any ideas?
--- Optimierungsfragen --- s.u.
PS: ja ich weiss - select * ist scheisse - wird auch in der endgültigen Fassung geändert
Zuletzt bearbeitet: