Bonjour à tous,
J'ai une table Historique, dont la clé primaire composée est faite des champs His_Code, His_Mois, His_Annee.
His_Code référence la clé primaire d'une autre table, clé primaire qui représente l'identifiant d'un article.
Je cherche à obtenir le nombre d'articles présents dans la table historique.
Ça n'a pas l'air compliqué, n'est-ce pas ? Mais je tombe sur un problème que je ne comprends tout simplement pas...
La requête :me renvoie 1070 résultats.
Code : Sélectionner tout - Visualiser dans une fenêtre à part SELECT DISTINCT(His_Code) FROM HISTORIQUE
Mon but est donc de faire une requête qui me renvoie en tout et pour tout le nombre 1070.
Naïvement, j'ai fait :Et là, surprise, au lieu de récupérer 1070 comme je m'y attendais, la requête me renvoie (...au bout de deux minutes...) 59360, soit le nombre total d'entrées dans la table Historique. Bon, après réflexion, j'ai compris que je ne devais pas m'y prendre comme ça, et que la requête imbriquée n'allait pas changer le résultat.
Code : Sélectionner tout - Visualiser dans une fenêtre à part SELECT COUNT(His_Code) FROM Historique WHERE His_Code IN (SELECT DISTINCT(His_Code) FROM HISTORIQUE)
Mais du coup, comment faire ?
J'ai aussi essayé de faireet d'autres variantes, mais la requête est invalidée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part SELECT COUNT(DISTINCT (His_Code)) FROM Historique
Quelqu'un a une idée ?
Partager