D=E9sol=E9 si ma requ=EAte est basique ... mais je me prends la t=EAte !!
Un truc tout b=EAte , soit une table "Membres" et une table
"Abonnements" li=E9es par un numero de membre. (liaison 1;n)
dans la table abonnements, je peux avoir plusieur fois le m=EAme numero
de membre si il a renouvele plusieurs fois son abo.
n=B0membre / date renouvellement / date echeance
Je voudrai selectionner tous les membres contenus dans ma table
membres et avec seulement le dernier renouvellement d'abonnement ...
et c'est la que je s=E8che. Je remene toutes les lignes du fichier
abonnement, et donc j'ai pleins de doublons ...
n=B0membre / nommembre/ prenomMembre / date renouvellement / date
echeance
Je pense recherche mes membres + abonnement et trier par date de
renouvellement pour ne garder que le plus r=E9cent, mais je n'arrive pas
a ne garder qu'une seule ligne par membre. j'ai essay=E9 avec des SELECT
DISTINCT(nummembre) , mais il me retourne toujours les 2-3 lignes pour
un seul membre.
Personnellement j'aurai ajouter un flag pour faire simple, lequel est coché au dernier abonnement et requête sur les flags cochés
Pierre BOUSQUET
un truc de ce genre peut-être :
SELECT Membres.nom, ab.date_abonnement FROM Membres LEFT JOIN (SELECT cle_membre, MAX(date_abonnement) as date_abonnement FROM Abonnements) ab ON ab.cle_membre=Membres.cle_membre
wd_newbie a couché sur son écran :
Désolé si ma requête est basique ... mais je me prends la tête !!
Un truc tout bête , soit une table "Membres" et une table "Abonnements" liées par un numero de membre. (liaison 1;n)
dans la table abonnements, je peux avoir plusieur fois le même numero de membre si il a renouvele plusieurs fois son abo.
n°membre / date renouvellement / date echeance
Je voudrai selectionner tous les membres contenus dans ma table membres et avec seulement le dernier renouvellement d'abonnement ... et c'est la que je sèche. Je remene toutes les lignes du fichier abonnement, et donc j'ai pleins de doublons ...
n°membre / nommembre/ prenomMembre / date renouvellement / date echeance
Je pense recherche mes membres + abonnement et trier par date de renouvellement pour ne garder que le plus récent, mais je n'arrive pas a ne garder qu'une seule ligne par membre. j'ai essayé avec des SELECT DISTINCT(nummembre) , mais il me retourne toujours les 2-3 lignes pour un seul membre.
Une idée ?
Olivier
-- Pierre BOUSQUET
" Ne me dites pas que ce problème est difficile. S'il n'était pas difficile, ce ne serait pas un problème. "
un truc de ce genre peut-être :
SELECT Membres.nom, ab.date_abonnement
FROM Membres
LEFT JOIN (SELECT cle_membre, MAX(date_abonnement) as date_abonnement
FROM Abonnements) ab ON ab.cle_membre=Membres.cle_membre
wd_newbie a couché sur son écran :
Désolé si ma requête est basique ... mais je me prends la tête !!
Un truc tout bête , soit une table "Membres" et une table
"Abonnements" liées par un numero de membre. (liaison 1;n)
dans la table abonnements, je peux avoir plusieur fois le même numero
de membre si il a renouvele plusieurs fois son abo.
n°membre / date renouvellement / date echeance
Je voudrai selectionner tous les membres contenus dans ma table
membres et avec seulement le dernier renouvellement d'abonnement ...
et c'est la que je sèche. Je remene toutes les lignes du fichier
abonnement, et donc j'ai pleins de doublons ...
n°membre / nommembre/ prenomMembre / date renouvellement / date
echeance
Je pense recherche mes membres + abonnement et trier par date de
renouvellement pour ne garder que le plus récent, mais je n'arrive pas
a ne garder qu'une seule ligne par membre. j'ai essayé avec des SELECT
DISTINCT(nummembre) , mais il me retourne toujours les 2-3 lignes pour
un seul membre.
Une idée ?
Olivier
--
Pierre BOUSQUET
" Ne me dites pas que ce problème est difficile.
S'il n'était pas difficile, ce ne serait pas un problème. "
SELECT Membres.nom, ab.date_abonnement FROM Membres LEFT JOIN (SELECT cle_membre, MAX(date_abonnement) as date_abonnement FROM Abonnements) ab ON ab.cle_membre=Membres.cle_membre
wd_newbie a couché sur son écran :
Désolé si ma requête est basique ... mais je me prends la tête !!
Un truc tout bête , soit une table "Membres" et une table "Abonnements" liées par un numero de membre. (liaison 1;n)
dans la table abonnements, je peux avoir plusieur fois le même numero de membre si il a renouvele plusieurs fois son abo.
n°membre / date renouvellement / date echeance
Je voudrai selectionner tous les membres contenus dans ma table membres et avec seulement le dernier renouvellement d'abonnement ... et c'est la que je sèche. Je remene toutes les lignes du fichier abonnement, et donc j'ai pleins de doublons ...
n°membre / nommembre/ prenomMembre / date renouvellement / date echeance
Je pense recherche mes membres + abonnement et trier par date de renouvellement pour ne garder que le plus récent, mais je n'arrive pas a ne garder qu'une seule ligne par membre. j'ai essayé avec des SELECT DISTINCT(nummembre) , mais il me retourne toujours les 2-3 lignes pour un seul membre.
Une idée ?
Olivier
-- Pierre BOUSQUET
" Ne me dites pas que ce problème est difficile. S'il n'était pas difficile, ce ne serait pas un problème. "
wd_newbie
On 28 mar, 14:07, Pierre BOUSQUET wrote:
un truc de ce genre peut-être :
SELECT Membres.nom, ab.date_abonnement FROM Membres LEFT JOIN (SELECT cle_membre, MAX(date_abonnement) as date_abonnement FROM Abonnements) ab ON ab.cle_membre=Membres.cle_membre
et non !! somme toute , j'ai simulé la requete avec des autres fichiers sous WD ( mon problème était sur des fichiers Access que je dois importer ) et pour ce problème , enfin c'était plus simple que je pensais , j'étais parti dans des trucs pas croyables ... la solution :
SELECT nommembre, PrenomMembre,refmembre , max(dateEcheance ) as dDate_fin FROM wmembres,wabo WHERE wmembres.NoMembre = wabo.RefMembre GROUP BY nommembre, PrenomMembre,refmembre ORDER BY refmembre
merci pour votre aide , le MAX(date_abonnement) m'a remis sur la bonne piste
Olivier
On 28 mar, 14:07, Pierre BOUSQUET <pb4...@hotmail.com> wrote:
un truc de ce genre peut-être :
SELECT Membres.nom, ab.date_abonnement
FROM Membres
LEFT JOIN (SELECT cle_membre, MAX(date_abonnement) as date_abonnement
FROM Abonnements) ab ON ab.cle_membre=Membres.cle_membre
et non !! somme toute , j'ai simulé la requete avec des autres
fichiers sous WD ( mon problème était sur des fichiers Access que je
dois importer ) et pour ce problème , enfin c'était plus simple que je
pensais , j'étais parti dans des trucs pas croyables ... la solution :
SELECT nommembre, PrenomMembre,refmembre , max(dateEcheance ) as
dDate_fin
FROM wmembres,wabo
WHERE wmembres.NoMembre = wabo.RefMembre
GROUP BY nommembre, PrenomMembre,refmembre
ORDER BY refmembre
merci pour votre aide , le MAX(date_abonnement) m'a remis sur la bonne
piste
SELECT Membres.nom, ab.date_abonnement FROM Membres LEFT JOIN (SELECT cle_membre, MAX(date_abonnement) as date_abonnement FROM Abonnements) ab ON ab.cle_membre=Membres.cle_membre
et non !! somme toute , j'ai simulé la requete avec des autres fichiers sous WD ( mon problème était sur des fichiers Access que je dois importer ) et pour ce problème , enfin c'était plus simple que je pensais , j'étais parti dans des trucs pas croyables ... la solution :
SELECT nommembre, PrenomMembre,refmembre , max(dateEcheance ) as dDate_fin FROM wmembres,wabo WHERE wmembres.NoMembre = wabo.RefMembre GROUP BY nommembre, PrenomMembre,refmembre ORDER BY refmembre
merci pour votre aide , le MAX(date_abonnement) m'a remis sur la bonne piste
Olivier
Pierre BOUSQUET
parfois on ne pense pas simplement...
wd_newbie vient de nous annoncer :
On 28 mar, 14:07, Pierre BOUSQUET wrote:
un truc de ce genre peut-être :
SELECT Membres.nom, ab.date_abonnement FROM Membres LEFT JOIN (SELECT cle_membre, MAX(date_abonnement) as date_abonnement FROM Abonnements) ab ON ab.cle_membre=Membres.cle_membre
et non !! somme toute , j'ai simulé la requete avec des autres fichiers sous WD ( mon problème était sur des fichiers Access que je dois importer ) et pour ce problème , enfin c'était plus simple que je pensais , j'étais parti dans des trucs pas croyables ... la solution :
SELECT nommembre, PrenomMembre,refmembre , max(dateEcheance ) as dDate_fin FROM wmembres,wabo WHERE wmembres.NoMembre = wabo.RefMembre GROUP BY nommembre, PrenomMembre,refmembre ORDER BY refmembre
merci pour votre aide , le MAX(date_abonnement) m'a remis sur la bonne piste
Olivier
-- Pierre BOUSQUET
" Ne me dites pas que ce problème est difficile. S'il n'était pas difficile, ce ne serait pas un problème. "
parfois on ne pense pas simplement...
wd_newbie vient de nous annoncer :
On 28 mar, 14:07, Pierre BOUSQUET <pb4...@hotmail.com> wrote:
un truc de ce genre peut-être :
SELECT Membres.nom, ab.date_abonnement
FROM Membres
LEFT JOIN (SELECT cle_membre, MAX(date_abonnement) as date_abonnement
FROM Abonnements) ab ON ab.cle_membre=Membres.cle_membre
et non !! somme toute , j'ai simulé la requete avec des autres
fichiers sous WD ( mon problème était sur des fichiers Access que je
dois importer ) et pour ce problème , enfin c'était plus simple que je
pensais , j'étais parti dans des trucs pas croyables ... la solution :
SELECT nommembre, PrenomMembre,refmembre , max(dateEcheance ) as
dDate_fin
FROM wmembres,wabo
WHERE wmembres.NoMembre = wabo.RefMembre
GROUP BY nommembre, PrenomMembre,refmembre
ORDER BY refmembre
merci pour votre aide , le MAX(date_abonnement) m'a remis sur la bonne
piste
Olivier
--
Pierre BOUSQUET
" Ne me dites pas que ce problème est difficile.
S'il n'était pas difficile, ce ne serait pas un problème. "
SELECT Membres.nom, ab.date_abonnement FROM Membres LEFT JOIN (SELECT cle_membre, MAX(date_abonnement) as date_abonnement FROM Abonnements) ab ON ab.cle_membre=Membres.cle_membre
et non !! somme toute , j'ai simulé la requete avec des autres fichiers sous WD ( mon problème était sur des fichiers Access que je dois importer ) et pour ce problème , enfin c'était plus simple que je pensais , j'étais parti dans des trucs pas croyables ... la solution :
SELECT nommembre, PrenomMembre,refmembre , max(dateEcheance ) as dDate_fin FROM wmembres,wabo WHERE wmembres.NoMembre = wabo.RefMembre GROUP BY nommembre, PrenomMembre,refmembre ORDER BY refmembre
merci pour votre aide , le MAX(date_abonnement) m'a remis sur la bonne piste
Olivier
-- Pierre BOUSQUET
" Ne me dites pas que ce problème est difficile. S'il n'était pas difficile, ce ne serait pas un problème. "