Bonjour
SQL 3
Je souhaite récupérer le premier ID_USAGE_OBJET de chaque ID_OBJET de la table OBJET
ID_OBJET ID_USAGE_OBJET
1 "A"
1 "D"
1 "B"
2 "B"
2 "A"
3 "C"
3 "D"
le résultat serait donc
ID_OBJET ID_USAGE_OBJET
1 "A"
2 "B"
3 "C"
Bonjour
SQL 3
Je souhaite récupérer le premier ID_USAGE_OBJET de chaque ID_OBJET de la table OBJET
ID_OBJET ID_USAGE_OBJET
1 "A"
1 "D"
1 "B"
2 "B"
2 "A"
3 "C"
3 "D"
le résultat serait donc
ID_OBJET ID_USAGE_OBJET
1 "A"
2 "B"
3 "C"
Il manque une information dans votre table pour déterminer l'ordre des lignes.
Par définition, une table n'est pas ordonnée, à la différence d'un fichier ou d'un tableau.
Modérateur Langage SQL
Règles du forum Langage SQL à lire par tous,
N'hésitez pas à consulter les cours SQL
N'oubliez pas le bouton
et pensez aux balises [code]
Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.
le tableau obtenu est le résultat d'un select sur une table.
Il n'y a pas d'ordre de tri.
J'ai une base de données sur des étangs (Table ETANG).
J'ai une table USAGE (nomenclature des usages des étangs de la lettre "A" à "F" avec les libellés qui vont bien).
Un étang peu avoir plusieurs usages. Il me faut donc une table intermédiaire entre ETANG et USAGE batisée USAGES_ETANG qui contient l'ID_ETANG et l'ID_USAGE.
Comment je récupère le premier usage de chaque étang (trié ou pas) ?
Modérateur Langage SQL
Règles du forum Langage SQL à lire par tous,
N'hésitez pas à consulter les cours SQL
N'oubliez pas le bouton
et pensez aux balises [code]
Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.
OK, donc l'ordre de tri est ID_OBJET puis ID_USAGE_OBJET
Au lieu d'avoir
ID_OBJET ID_USAGE_OBJET
1 "A"
1 "D"
1 "B"
2 "B"
2 "A"
3 "C"
3 "D"
On aura
ID_OBJET ID_USAGE_OBJET
1 "A"
1 "B"
1 "D"
2 "A"
2 "B"
3 "C"
3 "D"
et donc le résultat souhaité sera
ID_OBJET ID_USAGE_OBJET
1 "A"
2 "A"
3 "C"
Et la requête SQL est .....
En sachant cela, c'est beaucoup plus simple, le premier c'est le plus petit dans l'ordre de tri !
Je t'encourage à consulter le
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT id_objet , MIN(id_usage_objet) FROM matable GROUP BY id_objet
Cours SQL
Modérateur Langage SQL
Règles du forum Langage SQL à lire par tous,
N'hésitez pas à consulter les cours SQL
N'oubliez pas le bouton
et pensez aux balises [code]
Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.
Partager