Comment faire un Update?

Le
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.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Alain Vittali
Le #11839661
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"
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.




Don Juan
Le #11839621
Merci je vais esseyer

"Alain Vittali" 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"
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.








Publicité
Poster une réponse
Anonyme