Requête SQL avec jointure

matdu58 -  
 matdu58 -

Bonsoir à tous,

J'ai 2 tables dans une base de données, qui contiennent les colonnes suivantes :

TABLE "di_orders" :
colonne "id_order" (clé primaire)
colonne "module"
colonne "id_customer"

TABLE "di_customer_group" :
colonne "id_customer" (clé primaire)
colonne "id_group"

Mon besoin est le suivant :

Dans la table "di_orders", identifier toutes les lignes "id_customer" dont la colonne "module" est égale à la valeur "beezup", puis, pour toutes les lignes "id_customer" de la table "di_customer_group" (qui correspond en fait à "id_customer" la table "di_orders", modifier la colonne "id_group" par la valeur "5".

Je n'ai pas vraiment de compétences SQL, ça fait longtemps que je n'ai pas pratiqué ce langage, et j'en ai besoin pour faire une mise à jour dans mon Prestashop.

En gros, pour toutes les commandes provenant du module "beezup", il faudrait que le groupe de client soit égal à l'ID 5.

Un grand merci par avance !

Mathieu

1 réponse

  1. jee pee Messages postés 9439 Date d'inscription   Statut Modérateur Dernière intervention   9 977
     

    Bonjour,


    On pourrait faire sans JOIN, je suis moins sur avec, à tester
     

    UPDATE di_customer_group
    SET id_group = "5"
    WHERE id_customer IN (SELECT id_customer FROM di_orders WHERE module = "beezup")
    
           OU
    
    UPDATE di_customer_group
    INNER JOIN di_orders
    ON di_customer_group.id_customer = di_orders.id_customer
    SET di_customer_group.id_group = "5"
    WHERE di_orders.module = "beezup

    0
    1. matdu58
       

      Bonsoir jee pee,

      Vous êtes mon sauveur, un grand merci à vous, la première requête a fonctionné à merveille !

      Ca me donne envie de me remettre un peu à coder le SQL, ça me rappellera mes cours d'informatique :)

      Excellente soirée !

      0