Quelle est la requ=EAte qui me permettra d'afficher
la liste Nom,Prenom,date pour chaque client, tri=E9 sur le
champ date, avec la date la plus r=E9cente pour chaque rendez-vous
d'un client ?
Quelle est la requête qui me permettra d'afficher la liste Nom,Prenom,date pour chaque client, trié sur le champ date, avec la date la plus récente pour chaque rendez-vous d'un client ?
Merci d'avance.
Seulement le dernier RDV pour chaque client ?
select Nom, Prenom, max(date) from Client, Rdv where Client.clientID = Rdv.client ID group by Nom, Prenom order by max(date)
Stan a exposé le 07/12/2009 :
Bonjour,
je dispose de 2 tables :
Client:
- IDclient
- Nom
- Prénom
Rdv: ( Rendez-vous )
- IDrdv
- clientID
- DateRdv
La cardinalité entre Client et Rdv est 0..n
Quelle est la requête qui me permettra d'afficher
la liste Nom,Prenom,date pour chaque client, trié sur le
champ date, avec la date la plus récente pour chaque rendez-vous
d'un client ?
Merci d'avance.
Seulement le dernier RDV pour chaque client ?
select Nom, Prenom, max(date) from Client, Rdv where Client.clientID =
Rdv.client ID group by Nom, Prenom order by max(date)
Quelle est la requête qui me permettra d'afficher la liste Nom,Prenom,date pour chaque client, trié sur le champ date, avec la date la plus récente pour chaque rendez-vous d'un client ?
Merci d'avance.
Seulement le dernier RDV pour chaque client ?
select Nom, Prenom, max(date) from Client, Rdv where Client.clientID = Rdv.client ID group by Nom, Prenom order by max(date)
> Quelle est la requête qui me permettra d'afficher > la liste Nom,Prenom,date pour chaque client, trié sur le > champ date, avec la date la plus récente pour chaque rendez-vous > d'un client ?
> Merci d'avance.
Seulement le dernier RDV pour chaque client ?
Oui.
select Nom, Prenom, max(date) from Client, Rdv where Client.clientID = Rdv.client ID group by Nom, Prenom order by max(date)
En cherchant par moi-même, j'avais trouvé ça :
select Nom, Prenom, Date FROM Client left join ( select Rdv.clientID, MAX(Date) AS Date from Rdv group by Rdv.clientID ) on Client.IDclient = Rdv.clientID
Qu'en pensez-vous ?
On 7 déc, 16:45, Alain Montfranc <m...@aux.spammeurs> wrote:
> Quelle est la requête qui me permettra d'afficher
> la liste Nom,Prenom,date pour chaque client, trié sur le
> champ date, avec la date la plus récente pour chaque rendez-vous
> d'un client ?
> Merci d'avance.
Seulement le dernier RDV pour chaque client ?
Oui.
select Nom, Prenom, max(date) from Client, Rdv where Client.clientID =
Rdv.client ID group by Nom, Prenom order by max(date)
En cherchant par moi-même, j'avais trouvé ça :
select Nom, Prenom, Date FROM Client
left join (
select Rdv.clientID, MAX(Date) AS Date from Rdv
group by Rdv.clientID
) on Client.IDclient = Rdv.clientID
> Quelle est la requête qui me permettra d'afficher > la liste Nom,Prenom,date pour chaque client, trié sur le > champ date, avec la date la plus récente pour chaque rendez-vous > d'un client ?
> Merci d'avance.
Seulement le dernier RDV pour chaque client ?
Oui.
select Nom, Prenom, max(date) from Client, Rdv where Client.clientID = Rdv.client ID group by Nom, Prenom order by max(date)
En cherchant par moi-même, j'avais trouvé ça :
select Nom, Prenom, Date FROM Client left join ( select Rdv.clientID, MAX(Date) AS Date from Rdv group by Rdv.clientID ) on Client.IDclient = Rdv.clientID
Qu'en pensez-vous ?
yves
Le Mon, 07 Dec 2009 01:36:50 -0800, Stan a écrit:
Bonjour,
Un petit oubli : Sur MySql 5 !
Un essai d'amateur (variante) avec sqlite (http://www.sqlite.org/), en espérant que le formatage ne souffre pas trop:
*********
CREATE TABLE client( clientID INTEGER PRIMARY KEY, Nom, Prenom ); CREATE TABLE Rdv( IDrdv INTEGER PRIMARY KEY, clientID, DateRdv ); . mode column . header on INSERT INTO client(nom,prenom) VALUES ('dupont','jean'); INSERT INTO client(nom,prenom) VALUES ('durand','pierre'); INSERT INTO client(nom,prenom) VALUES ('doe','john'); INSERT INTO Rdv(clientID,DateRdv) VALUES ('1','20091227'); INSERT INTO Rdv(clientID,DateRdv) VALUES ('2','20091230'); INSERT INTO Rdv(clientID,DateRdv) VALUES ('1','20100520'); INSERT INTO Rdv(clientID,DateRdv) VALUES ('1','20091225'); INSERT INTO Rdv(clientID,DateRdv) VALUES ('1','20091105'); INSERT INTO Rdv(clientID,DateRdv) VALUES ('2','20091229'); INSERT INTO Rdv(clientID,DateRdv) VALUES ('3','20100205');
SELECT Nom, Prenom, max(DateRdv) as Date FROM Client JOIN Rdv USING (clientID) GROUP BY Nom, Prenom ORDER BY MAX(DateRdv);
***************
@+ -- Yves
Le Mon, 07 Dec 2009 01:36:50 -0800, Stan a écrit:
Bonjour,
Un petit oubli :
Sur MySql 5 !
Un essai d'amateur (variante) avec sqlite (http://www.sqlite.org/), en
espérant que le formatage ne souffre pas trop:
*********
CREATE TABLE client(
clientID INTEGER PRIMARY KEY,
Nom,
Prenom
);
CREATE TABLE Rdv(
IDrdv INTEGER PRIMARY KEY,
clientID,
DateRdv
);
. mode column
. header on
INSERT INTO client(nom,prenom) VALUES ('dupont','jean');
INSERT INTO client(nom,prenom) VALUES ('durand','pierre');
INSERT INTO client(nom,prenom) VALUES ('doe','john');
INSERT INTO Rdv(clientID,DateRdv) VALUES ('1','20091227');
INSERT INTO Rdv(clientID,DateRdv) VALUES ('2','20091230');
INSERT INTO Rdv(clientID,DateRdv) VALUES ('1','20100520');
INSERT INTO Rdv(clientID,DateRdv) VALUES ('1','20091225');
INSERT INTO Rdv(clientID,DateRdv) VALUES ('1','20091105');
INSERT INTO Rdv(clientID,DateRdv) VALUES ('2','20091229');
INSERT INTO Rdv(clientID,DateRdv) VALUES ('3','20100205');
SELECT Nom, Prenom, max(DateRdv) as Date FROM Client JOIN Rdv USING
(clientID) GROUP BY Nom, Prenom ORDER BY MAX(DateRdv);