Requête SQL avec jointure

matdu58 - Modifié le 8 janv. 2024 à 18:33
 matdu58 - 8 janv. 2024 à 19:36

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

jee pee Messages postés 39683 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 3 mai 2024 9 254
8 janv. 2024 à 18:47

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

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