[MySQL 3] Producten en (Sub)-Categorie probleem

Pagina: 1
Acties:

  • WesleyVH
  • Registratie: Mei 2004
  • Laatst online: 17-10-2023
Gewoonlijk werk ik met Oracle DB's op mijn werk. Nu ik bezig ben aan een website moet ik het echter stellen met MySQL v3.??.??. Dit is tenopzichte van Oracle (of MySQL 5) pre-historisch. Zo heb ik al zitten vloeken dat ik niet gebruik kan maken van sub-query's en views. Maar goed ...

Situatie:
code:
1
2
3
4
5
6
7
8
PRODUCTEN
PNR | Naam      | CNR  
----------------------
 1  | Product 1 |  5
 2  | Product 2 |  3
 3  | Product 3 |  5
 4  | Product 4 |  3
 5  | Product 5 |  5

--> Hierin staan alle producten
--> CNR is de link naar volgende tabel

code:
1
2
3
4
5
6
7
8
CATEGORIEEN
CNR | Naam            | ParentCNR
----------------------|-----------
 1  | Categorie 1     |  
 2  | SubCat 1.1      |  1
 3  | SubSubCat 1.1.1 |  2
 4  | SubCat 1.2      |  1
 5  | SubSubCat 1.2.1 |  4

--> Hierin staan alle categorieën, hierin zouden quasi een oneindig aantal subcategorieën in kunnen staan.

Probleem:
Ik zoek een query waarin ik kan opvragen welke producten bij welke categorie hoort.
VB:
SubSubCat 1.2.1 --> PNR's: 1,3,5
SubSubCat 1.1.1 --> PNR's: 2,4

MAAR OOK !!!
SubCat 1.1 --> PNR's: 2,4
Categorie 1 --> PNR's: 1,2,3,4,5


Heeft iemand hier een oplossing voor? Let op dat ik enkel met een join kan werken in MySQL 3! Of zit ik verkeerd met de opbouw van mijn DB?

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 00:09

Janoz

Moderator Devschuur®

!litemod

Een dergelijke recursiefe tabelstructuur is altijd lastig in SQL. Oracle heeft hier wat extra functionaliteit voor, maar in de meeste anderen zit dat niet. Als het aantal niveaus beperkt is kun je de tabel een fixed aantal keren met zichzelf joinen zodat je het gewenste resultaat kunt bereiken, als je geen limiet an het aantal niveaus wilt stellen, zul je het in je buisnesslogic op moeten lossen.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 22-01 23:51

NMe

Quia Ego Sic Dico.

De bekende link: Bomen in MySQL/PHP
Ik heb geen idee of je nog scripting- of programmeertalen tot je beschikking hebt verder, en al helemaal niet welke, maar je hebt wellicht wat aan die link. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.