Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comment faire un Update?

2 réponses
Avatar
Don Juan
Bonjour
J'ai le schema suivant:
Table Clients
Table Commandes (lié à Clients par Client_id)
Je dois ajouter à la table Clients un champ nomé: Client_depuis où je dois
enregristrer la date où le client à fait sa premier commande. Dans la table
Commandes il existe une ou plusieurs commandes par client mais il me faut
choissir seulement la première commande (le champ Commande_date).

Merci de vos lumières.

2 réponses

Avatar
Alain Vittali
Pourquoi vouloir dupliquer la date de la première commande dans la table
Client ?

Dans l'idée, cela peut ressembler à :

UPDATE Clients
SET Clients.Client_depuis = Commandes.Commande_date
FROM Clients
INNER JOIN Commandes ON Clients.Client_id = Commandes.Client_id
WHERE Commandes.Commande_date = (
SELECT MIN(Cmd.Commande_date)
FROM Commandes Cmd
WHERE Cmd.Client_id = Clients.Client_id )

ou bien, à essayer (j'suis pas sûr) :

UPDATE Clients
SET Clients.Client_depuis = (
SELECT MIN(Cmd.Commande_date)
FROM Commandes Cmd
WHERE Cmd.Client_id = Clients.Client_id )

Mais je persiste sur la première question ; une vue pourrait être préférable
à une duplication de données.

Alain

"Don Juan" a écrit dans le message de news:

Bonjour
J'ai le schema suivant:
Table Clients
Table Commandes (lié à Clients par Client_id)
Je dois ajouter à la table Clients un champ nomé: Client_depuis où je dois
enregristrer la date où le client à fait sa premier commande. Dans la
table Commandes il existe une ou plusieurs commandes par client mais il me
faut choissir seulement la première commande (le champ Commande_date).

Merci de vos lumières.




Avatar
Don Juan
Merci je vais esseyer

"Alain Vittali" escribió en el mensaje
news:
Pourquoi vouloir dupliquer la date de la première commande dans la table
Client ?

Dans l'idée, cela peut ressembler à :

UPDATE Clients
SET Clients.Client_depuis = Commandes.Commande_date
FROM Clients
INNER JOIN Commandes ON Clients.Client_id = Commandes.Client_id
WHERE Commandes.Commande_date = (
SELECT MIN(Cmd.Commande_date)
FROM Commandes Cmd
WHERE Cmd.Client_id = Clients.Client_id )

ou bien, à essayer (j'suis pas sûr) :

UPDATE Clients
SET Clients.Client_depuis = (
SELECT MIN(Cmd.Commande_date)
FROM Commandes Cmd
WHERE Cmd.Client_id = Clients.Client_id )

Mais je persiste sur la première question ; une vue pourrait être
préférable à une duplication de données.

Alain

"Don Juan" a écrit dans le message de news:

Bonjour
J'ai le schema suivant:
Table Clients
Table Commandes (lié à Clients par Client_id)
Je dois ajouter à la table Clients un champ nomé: Client_depuis où je
dois enregristrer la date où le client à fait sa premier commande. Dans
la table Commandes il existe une ou plusieurs commandes par client mais
il me faut choissir seulement la première commande (le champ
Commande_date).

Merci de vos lumières.