Hallo,

Ik heb 2 "bijna" dezelfde tabellen.

Tabel 1 wordt gevuld vanuit een tool met stappenplan om producten samen te stellen.

Tabel 2 bestaat uit samengestelde producten die al eerder verkocht zijn.

Ik wil nu een vergelijking doen aan het einde van de tool om te controleren of de invoer in tabel 1 wel of niet bestaat in tabel 2. En bij zo ja; wat het artikel_ID is. Dan moet dat artikel_ID gekoppeld worden in tabel 2. Bij zo nee; een nieuw artikel_ID aanmaken.

Maar helaas kom ik er niet aan uit.
Dit zou toch alleen/grotendeels in MySQL moeten kunnen zonder allerlei trage php?
Ik heb al van alles gevonden met UNION etc, maar het blijft vaag voor me.

Van 1 set (set_ID, tabel 1) zullen meerdere regels bestaan net als van 1 hoofd artikel (parrent_artikel_ID , tabel 2).

De database opzet van de betreffende 2 tabellen:

Tabel 1:
ID
set_ID
stap_ID *
invoer_resultaat *
artikel_ID *
volgnummer *
waarde *
aantal *
afmeting *
inkoop_prijs *

Tabel 2:
ID
parrent_artikel_ID
stap_ID *
invoer_resultaat *
artikel_ID *
volgnummer *
waarde *
aantal *
afmeting *
inkoop_prijs *

Als bij alle rijen met een bepaalde set_ID in tabel 1 dus de kolommen met * exact hetzelfde zijn als een bepaald aantal rijen in tabel 2; wil ik het parrent_artikel_ID weten.

Kan iemand helpen of me de goeie richting wijzen?
Bedankt Thomas. Ik ga er eens mee aan de slag met die hashes.

Dan moet de array uiteraard wel steeds met exact dezelfde volgorde opgebouwd worden. Maar dat zal weinig problemen opleveren verwacht ik.
Ramon van Dongen op 09/08/2018 19:08:24
Dan moet de array uiteraard wel steeds met exact dezelfde volgorde opgebouwd worden.

Da's wel belangrijk ja :). En mocht de kolommen-combinatie die een unieke groepering samenstelt ooit veranderen, pas je $columns aan en draai je het scriptje opnieuw. Meer hoef je (theoretisch :)) niet te doen omdat alles toch van die zelfde functie gebruik maakt.

Reageren