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());
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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Úte());
Merci de m'aider
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());
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
Philippe TROTIN [MS]
Bonjour,
Quelque chose dans le genre ?
SELECT [#Id_Client], COUNT(*) AS NB_COMPTE_CONNECTE FROM Compte c INNER JOIN (SELECT [#Id_Client], COUNT(*) AS NB_COMPTE_TOTAL FROM Compte GROUP BY [#Id_Client]) z ON c.[#Id_Client] = z.[#Id_Client] AND c.NB_COMPTE_CONNECTE <> z.NB_COMPTE_TOTAL WHERE c.Id_Compte IN (SELECT [#Id_Compte] FROM Connexions WHERE DATEDIFF(day, cnx.Date, Getdate()) = 0) GROUP BY c.[#Id_Client]
<<< -- Liste des clients avec leurs compte SELECT Id_Client, Nom, Prénom FROM Client cli INNER JOIN Compte c ON cli.Id_Client = c.[#Id_Client]
-- Liste des clients sans connexion à la date du jour SELECT Id_Client, Nom, Prénom FROM Client cli INNER JOIN Comptes c ON cli.Id_Client = c.[#Id_Client] WHERE Id_Compte NOT IN (SELECT [#Id_Compte] FROM Connexions WHERE DATEDIFF(day, cnx.Date, Getdate()) = 0)
-- Nombre de compte par client connecté à la date du jour SELECT [#Id_Client], COUNT(*) AS NB_COMPTE_CONNECTE FROM Compte WHERE Id_Compte IN (SELECT [#Id_Compte] FROM Connexions WHERE DATEDIFF(day, cnx.Date, Getdate()) = 0) GROUP BY [#Id_Client]
-- Nombre de compte total par client connecté à la date du jour SELECT [#Id_Client], COUNT(*) AS NB_COMPTE_TOTAL FROM Compte GROUP BY [#Id_Client]
-- La requete attendue SELECT [#Id_Client], COUNT(*) AS NB_COMPTE_CONNECTE FROM Compte c INNER JOIN (SELECT [#Id_Client], COUNT(*) AS NB_COMPTE_TOTAL FROM Compte GROUP BY [#Id_Client]) z ON c.[#Id_Client] = z.[#Id_Client] AND c.NB_COMPTE_CONNECTE <> z.NB_COMPTE_TOTAL WHERE Id_Compte IN (SELECT [#Id_Compte] FROM Connexions WHERE DATEDIFF(day, cnx.Date, Getdate()) = 0) GROUP BY [#Id_Client]
Cordialement _______________________________
Philippe TROTIN Microsoft Services France _______________________________
"raleur" a écrit dans le message de groupe de discussion : 4728476f$0$5069$
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
Bonjour,
Quelque chose dans le genre ?
SELECT [#Id_Client], COUNT(*) AS NB_COMPTE_CONNECTE
FROM Compte c
INNER JOIN (SELECT [#Id_Client], COUNT(*) AS NB_COMPTE_TOTAL FROM Compte
GROUP BY [#Id_Client]) z ON c.[#Id_Client] = z.[#Id_Client] AND
c.NB_COMPTE_CONNECTE <> z.NB_COMPTE_TOTAL
WHERE c.Id_Compte IN (SELECT [#Id_Compte] FROM Connexions WHERE
DATEDIFF(day, cnx.Date, Getdate()) = 0)
GROUP BY c.[#Id_Client]
<<<
-- Liste des clients avec leurs compte
SELECT Id_Client, Nom, Prénom
FROM Client cli
INNER JOIN Compte c ON cli.Id_Client = c.[#Id_Client]
-- Liste des clients sans connexion à la date du jour
SELECT Id_Client, Nom, Prénom
FROM Client cli
INNER JOIN Comptes c ON cli.Id_Client = c.[#Id_Client]
WHERE Id_Compte NOT IN (SELECT [#Id_Compte] FROM Connexions WHERE
DATEDIFF(day, cnx.Date, Getdate()) = 0)
-- Nombre de compte par client connecté à la date du jour
SELECT [#Id_Client], COUNT(*) AS NB_COMPTE_CONNECTE
FROM Compte
WHERE Id_Compte IN (SELECT [#Id_Compte] FROM Connexions WHERE DATEDIFF(day,
cnx.Date, Getdate()) = 0)
GROUP BY [#Id_Client]
-- Nombre de compte total par client connecté à la date du jour
SELECT [#Id_Client], COUNT(*) AS NB_COMPTE_TOTAL FROM Compte GROUP BY
[#Id_Client]
-- La requete attendue
SELECT [#Id_Client], COUNT(*) AS NB_COMPTE_CONNECTE
FROM Compte c
INNER JOIN (SELECT [#Id_Client], COUNT(*) AS NB_COMPTE_TOTAL FROM Compte
GROUP BY [#Id_Client]) z ON c.[#Id_Client] = z.[#Id_Client] AND
c.NB_COMPTE_CONNECTE <> z.NB_COMPTE_TOTAL
WHERE Id_Compte IN (SELECT [#Id_Compte] FROM Connexions WHERE DATEDIFF(day,
cnx.Date, Getdate()) = 0)
GROUP BY [#Id_Client]
Cordialement
_______________________________
Philippe TROTIN
Microsoft Services France
_______________________________
"raleur" <ralekhal@laposte.net> a écrit dans le message de groupe de
discussion : 4728476f$0$5069$ba4acef3@news.orange.fr...
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());
SELECT [#Id_Client], COUNT(*) AS NB_COMPTE_CONNECTE FROM Compte c INNER JOIN (SELECT [#Id_Client], COUNT(*) AS NB_COMPTE_TOTAL FROM Compte GROUP BY [#Id_Client]) z ON c.[#Id_Client] = z.[#Id_Client] AND c.NB_COMPTE_CONNECTE <> z.NB_COMPTE_TOTAL WHERE c.Id_Compte IN (SELECT [#Id_Compte] FROM Connexions WHERE DATEDIFF(day, cnx.Date, Getdate()) = 0) GROUP BY c.[#Id_Client]
<<< -- Liste des clients avec leurs compte SELECT Id_Client, Nom, Prénom FROM Client cli INNER JOIN Compte c ON cli.Id_Client = c.[#Id_Client]
-- Liste des clients sans connexion à la date du jour SELECT Id_Client, Nom, Prénom FROM Client cli INNER JOIN Comptes c ON cli.Id_Client = c.[#Id_Client] WHERE Id_Compte NOT IN (SELECT [#Id_Compte] FROM Connexions WHERE DATEDIFF(day, cnx.Date, Getdate()) = 0)
-- Nombre de compte par client connecté à la date du jour SELECT [#Id_Client], COUNT(*) AS NB_COMPTE_CONNECTE FROM Compte WHERE Id_Compte IN (SELECT [#Id_Compte] FROM Connexions WHERE DATEDIFF(day, cnx.Date, Getdate()) = 0) GROUP BY [#Id_Client]
-- Nombre de compte total par client connecté à la date du jour SELECT [#Id_Client], COUNT(*) AS NB_COMPTE_TOTAL FROM Compte GROUP BY [#Id_Client]
-- La requete attendue SELECT [#Id_Client], COUNT(*) AS NB_COMPTE_CONNECTE FROM Compte c INNER JOIN (SELECT [#Id_Client], COUNT(*) AS NB_COMPTE_TOTAL FROM Compte GROUP BY [#Id_Client]) z ON c.[#Id_Client] = z.[#Id_Client] AND c.NB_COMPTE_CONNECTE <> z.NB_COMPTE_TOTAL WHERE Id_Compte IN (SELECT [#Id_Compte] FROM Connexions WHERE DATEDIFF(day, cnx.Date, Getdate()) = 0) GROUP BY [#Id_Client]
Cordialement _______________________________
Philippe TROTIN Microsoft Services France _______________________________
"raleur" a écrit dans le message de groupe de discussion : 4728476f$0$5069$
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());