Jump to content

[Opgelost] Groepstoegang "updaten" van 13 naar 12 in MySQL


Suver Nuver

Recommended Posts

Hallo,

Onderstaande vraag betreft het blok <Groepstoegangen> op de klantenkaart (Database-tabel / ps_cutomer_group)

Er zijn specifieke ID_Customers die omgezet/geupdate moeten worden van groepstoegang 12 naar 13.

image.png.a69b3673ce54249c099a28e61e98ffb6.png

In deze tabel zijn meerdere groepstoegangen toegestaan bij één ID_Customer. Alleen een nieuwe import met overschrijven is dus niet mogelijk, dan wordt er een tweede groepstoegang aangemaakt bij de betreffende ID_Customer.

Is dit wellicht mogelijk tijdens de import van de nieuwe tabelgegevens?

Als dit niet via een import kan, met welke query kan ik de dubbele waarden oproepen en na controle de ongewenste waarde verwijderen?

Alvast hartelijk dank voor het meedenken!

 

Edited by Suver Nuver
Opgelost melden (see edit history)
Link to comment
Share on other sites

  • 5 months later...
On 1/15/2021 at 9:54 AM, Wallgrind.nl said:

Goede morgen

Hoeveel klanten wil je omzetten naar een andere groep?
Misschien is het beter deze via de backend om te zetten ipv via een sql query.

Bedankt voor de reactie.
Het gaat om teveel ID's om dit handmatig te doen.

Er is nu steeds een import gemaakt, zodat er in de tabel bij de groepstabel veel dubbele waarden voorkomen.

De standaardgroep is echter leidend, deze staat aangegeven in de customer-tabel.

Op dit moment stoort de dubbele waarde niet bij de groepstoegang, maar denk dat is in deze tabel de 13 eens helemaal verwijder en weer importeer met de ID's die in de customertabel 13 bij de standaardgroep hebben staan. 

Link to comment
Share on other sites

13 hours ago, Crezzur said:

Dus nu heb je voor uw gebruikers groepstoegang 12 en 13? en als de gebruiker groepstoegang 13 heeft mag groeps id 12 verwijderd worden, correct? dan maak ik een oneliner voor mysql die je kan gebruiken.

Net andersom Crezzur.
Als de standaardgroep 12 is, en de groepstoegang heeft zowel 12 als 13, dan mag bij de groepstoegang 13 verwijderd worden.
Super wanneer je daarvoor een oneliner kunt maken!

Link to comment
Share on other sites

Geen werk hoor 😉

Even uitleggen zodat je weet wat er gebeurt.

Query 1: DELETE FROM ps_customer_group WHERE id_group = 13 AND
Dit zal de id_group met waarde 13 verwijderen, maar enkele wanneer er wordt voldaan aan de AND (en) waarde

Query 2: id_customer IN (SELECT id_customer FROM ps_customer WHERE id_default_group = 12);
De query zal alle id_customer selecteren, uit de tabel ps_customer_group, waar de id_default_group een waarde heeft die gelijk is aan 12

De Query:

DELETE FROM ps_customer_group WHERE id_group = 13 AND id_customer IN (SELECT id_customer FROM ps_customer WHERE id_default_group = 12);

Dus samengevat:
Indien de klant default group 12 heeft en ook group 13 heeft zal group 13 worden verwijderd.

Edited by Crezzur (see edit history)
  • Like 1
Link to comment
Share on other sites

7 hours ago, Crezzur said:

Geen werk hoor 😉

Even uitleggen zodat je weet wat er gebeurt.

Query 1: DELETE FROM ps_customer_group WHERE id_group = 13 AND
Dit zal de id_group met waarde 13 verwijderen, maar enkele wanneer er wordt voldaan aan de AND (en) waarde

Query 2: id_customer IN (SELECT id_customer FROM ps_customer WHERE id_default_group = 12);
De query zal alle id_customer selecteren waar de id_default_group een waarde heeft die gelijk is aan 12

De Query:

DELETE FROM ps_customer_group WHERE id_group = 13 AND id_customer IN (SELECT id_customer FROM ps_customer WHERE id_default_group = 12);

Dus samengevat:
Indien de klant default group 12 heeft en ook group 13 heeft zal group 13 worden verwijderd.

Helemaal super Crezzur!
Ik ga 'm morgen even testen op de testdatabase, maar heb er alle vertrouwen in.
Fijn dat je er een uitleg bij doet, bedankt! Leer zo stukje bij beetje steeds meer 😉

  • Like 1
Link to comment
Share on other sites

21 hours ago, Crezzur said:


De Query:

DELETE FROM ps_customer_group WHERE id_group = 13 AND id_customer IN (SELECT id_customer FROM ps_customer WHERE id_default_group = 12);

Dus samengevat:
Indien de klant default group 12 heeft en ook group 13 heeft zal group 13 worden verwijderd.

Query doet uitstekend z'n werk!

Scheelt een hoop extra werk 😉

Bedankt Crezzur, top!

Link to comment
Share on other sites

  • Suver Nuver changed the title to [Opgelost] Groepstoegang "updaten" van 13 naar 12 in MySQL

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...