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

requete complexe

5 réponses
Avatar
raleur
Bonjour à tous

J'ai une requête à faire et je m'arrache les cheveux depuis plusieurs jours.

J'ai 3 tables

Client Compte Connexion
Id_Client ------------------ #Id_Client Date
Nom Id_Compte ----------------- #Id_Compte
Prénom ..... ....
...

Un client peut avoir plusieurs comptes. Et j'ai une table qui enregistre la derniere connexions pour
chaque compte.

J'aimerai pouvoir determiner tous les utilisateur n'ayant pas effectuer de connexion sur la totalité
de leur comptes. Par exemple si un utilisateur possede 3 comptes et qu'il ne s'est connecté que sur
2 de ses comptes, que ça me le retourne aussi. Mais que si il s'est connecté sur ses 3 comptes que
la requete ne me retourne pas cet utilisateur.

J'ai déjà cette requette qui me retourne tous les comptes sur lesquels il n'y a pas eu de connexion
à la date du jour.

SELECT Id_Compte
FROM Comptes
WHERE Id_Compte NOT IN (SELECT [#Id_Compte] FROM Connexions WHERE Date=Date());


Merci de m'aider

5 réponses

Avatar
Michel_D
Bonjour,

Je pense qu'en suivant la méthode ci-dessous, cela devrait marcher :
1) Tu effectue le comptage du nombre de compte par client.
2) Tu effectue le comptage du nombre de connexion par compte.
3) Tu filtre les clients qui ont un nombre inférieur de connexion
par rapport au nombre de compte.

Si j'ai le temps demain, je fournirai les requêtes.


Bonjour à tous

J'ai une requête à faire et je m'arrache les cheveux depuis plusieurs
jours.

J'ai 3 tables

Client Compte Connexion
Id_Client ------------------ #Id_Client Date
Nom Id_Compte -----------------
#Id_Compte
Prénom ..... ....
...

Un client peut avoir plusieurs comptes. Et j'ai une table qui enregistre
la derniere connexions pour chaque compte.

J'aimerai pouvoir determiner tous les utilisateur n'ayant pas effectuer
de connexion sur la totalité de leur comptes. Par exemple si un
utilisateur possede 3 comptes et qu'il ne s'est connecté que sur 2 de
ses comptes, que ça me le retourne aussi. Mais que si il s'est connecté
sur ses 3 comptes que la requete ne me retourne pas cet utilisateur.

J'ai déjà cette requette qui me retourne tous les comptes sur lesquels
il n'y a pas eu de connexion à la date du jour.

SELECT Id_Compte
FROM Comptes
WHERE Id_Compte NOT IN (SELECT [#Id_Compte] FROM Connexions WHERE
DateÚte());


Merci de m'aider


Avatar
Eric
Bonsoir,

Quelque chose comme :

SELECT idclient, nomclient FROM client
WHERE idclient IN(
SELECT idclient FROM compte
WHERE idcompte NOT IN(
SELECT DISTINCT idcompte
FROM connexion)
)
;

devrait retourner les clients n'ayant pas fait de connexions sur tous
leurs comptes, quelque soit la date.
A tester.

Bonjour à tous

J'ai une requête à faire et je m'arrache les cheveux depuis plusieurs
jours.

J'ai 3 tables

Client Compte Connexion
Id_Client ------------------ #Id_Client Date
Nom Id_Compte -----------------
#Id_Compte
Prénom ..... ....
...

Un client peut avoir plusieurs comptes. Et j'ai une table qui enregistre
la derniere connexions pour chaque compte.

J'aimerai pouvoir determiner tous les utilisateur n'ayant pas effectuer
de connexion sur la totalité de leur comptes. Par exemple si un
utilisateur possede 3 comptes et qu'il ne s'est connecté que sur 2 de
ses comptes, que ça me le retourne aussi. Mais que si il s'est connecté
sur ses 3 comptes que la requete ne me retourne pas cet utilisateur.

J'ai déjà cette requette qui me retourne tous les comptes sur lesquels
il n'y a pas eu de connexion à la date du jour.

SELECT Id_Compte
FROM Comptes
WHERE Id_Compte NOT IN (SELECT [#Id_Compte] FROM Connexions WHERE
DateÚte());


Merci de m'aider


--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
most
Bonsoir,

Quelque chose comme :

SELECT idclient, nomclient FROM client
WHERE idclient IN(
SELECT idclient FROM compte
WHERE idcompte NOT IN(
SELECT DISTINCT idcompte
FROM connexion)
)
;

devrait retourner les clients n'ayant pas fait de connexions sur tous
leurs comptes, quelque soit la date.
A tester.

Bonjour à tous

J'ai une requête à faire et je m'arrache les cheveux depuis plusieurs
jours.

J'ai 3 tables

Client Compte
Connexion
Id_Client ------------------ #Id_Client
Date
Nom Id_Compte -----------------
#Id_Compte
Prénom .....
....
...

Un client peut avoir plusieurs comptes. Et j'ai une table qui
enregistre la derniere connexions pour chaque compte.

J'aimerai pouvoir determiner tous les utilisateur n'ayant pas
effectuer de connexion sur la totalité de leur comptes. Par exemple si
un utilisateur possede 3 comptes et qu'il ne s'est connecté que sur 2
de ses comptes, que ça me le retourne aussi. Mais que si il s'est
connecté sur ses 3 comptes que la requete ne me retourne pas cet
utilisateur.

J'ai déjà cette requette qui me retourne tous les comptes sur lesquels
il n'y a pas eu de connexion à la date du jour.

SELECT Id_Compte
FROM Comptes
WHERE Id_Compte NOT IN (SELECT [#Id_Compte] FROM Connexions WHERE
DateÚte());


Merci de m'aider


Non justement cette requete ne me renvoi rien du tout.



Avatar
Michel_D
Bonjour,

Bon comme je n'ai pas compris la subtilité au niveau de la date voici la requête
que je propose (ne pas tenir compte de ma proposition précédente) :

SELECT DISTINCT [Id_Client]
FROM Comptes
WHERE ([Id_Compte] Not IN (SELECT [#Id_Compte] FROM Connexions));


"Michel_D" a écrit dans le message de news:
Bonjour,

Je pense qu'en suivant la méthode ci-dessous, cela devrait marcher :
1) Tu effectue le comptage du nombre de compte par client.
2) Tu effectue le comptage du nombre de connexion par compte.
3) Tu filtre les clients qui ont un nombre inférieur de connexion
par rapport au nombre de compte.

Si j'ai le temps demain, je fournirai les requêtes.


Bonjour à tous

J'ai une requête à faire et je m'arrache les cheveux depuis plusieurs
jours.

J'ai 3 tables

Client Compte Connexion
Id_Client ------------------ #Id_Client Date
Nom Id_Compte -----------------
#Id_Compte
Prénom ..... ....
...

Un client peut avoir plusieurs comptes. Et j'ai une table qui enregistre
la derniere connexions pour chaque compte.

J'aimerai pouvoir determiner tous les utilisateur n'ayant pas effectuer
de connexion sur la totalité de leur comptes. Par exemple si un
utilisateur possede 3 comptes et qu'il ne s'est connecté que sur 2 de
ses comptes, que ça me le retourne aussi. Mais que si il s'est connecté
sur ses 3 comptes que la requete ne me retourne pas cet utilisateur.

J'ai déjà cette requette qui me retourne tous les comptes sur lesquels
il n'y a pas eu de connexion à la date du jour.

SELECT Id_Compte
FROM Comptes
WHERE Id_Compte NOT IN (SELECT [#Id_Compte] FROM Connexions WHERE
DateÚte());


Merci de m'aider




Avatar
Eric
Bonsoir,

Je viens de tester et ça marche ou alors je n'ai pas compris ce que tu
veux.

Le résultat obtenu : http://cjoint.com/?lmsWOIzCUc
Une base avec la requête ici : http://cjoint.com/?lmsPToDnba

Affiche la requête RQ1 pour visualiser les résultats et affiche son SQL
par le menu Affichage sans passer par le générateur de requête qui
surchargerait le SQL.
(Il te faudra adapter avec tes noms de champs)


Bonsoir,

Quelque chose comme :

SELECT idclient, nomclient FROM client
WHERE idclient IN(
SELECT idclient FROM compte
WHERE idcompte NOT IN(
SELECT DISTINCT idcompte
FROM connexion)
)
;

devrait retourner les clients n'ayant pas fait de connexions sur tous
leurs comptes, quelque soit la date.
A tester.

Bonjour à tous

J'ai une requête à faire et je m'arrache les cheveux depuis plusieurs
jours.

J'ai 3 tables

Client Compte
Connexion
Id_Client ------------------ #Id_Client
Date
Nom Id_Compte -----------------
#Id_Compte
Prénom .....
....
...

Un client peut avoir plusieurs comptes. Et j'ai une table qui
enregistre la derniere connexions pour chaque compte.

J'aimerai pouvoir determiner tous les utilisateur n'ayant pas
effectuer de connexion sur la totalité de leur comptes. Par exemple
si un utilisateur possede 3 comptes et qu'il ne s'est connecté que
sur 2 de ses comptes, que ça me le retourne aussi. Mais que si il
s'est connecté sur ses 3 comptes que la requete ne me retourne pas
cet utilisateur.

J'ai déjà cette requette qui me retourne tous les comptes sur
lesquels il n'y a pas eu de connexion à la date du jour.

SELECT Id_Compte
FROM Comptes
WHERE Id_Compte NOT IN (SELECT [#Id_Compte] FROM Connexions WHERE
DateÚte());


Merci de m'aider


Non justement cette requete ne me renvoi rien du tout.



--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr