Vous n'êtes pas identifié(e).
Bonjour,
je cherche à faire une requête à partir d'une table existante que je voudrais enregistrer en tant que vue (jusqu'ici il n'y a pas de soucis!!!). Je voudrais regrouper (group by ou distinct) les enregistrements similaires des champs spécifiés. C'est à partir ici que je coince. En fait, les enregistrements sont similaires sauf dans un des champs spécifiés, le champs id (identifiant unique qui est clé primaire dans la table d'origine et j'ai besoin d'un clé primaire pour utiliser ces données).
Un exemple concret pour être plus claire :
table1:
id couleur nbre contour buffer forme
-----------------------------------------------------------------------------------------------------------------------------------------------------
1 rouge 14 net 2 alpha
2 rouge 2 net 2 alpha
3 rouge 5 net 2 alpha
4 rouge 5 net 2 alpha
5 jaune 16 flou 3 beta
6 jaune 8 flou 3 beta
7 jaune 20 flou 3 beta
8 vert 5 net 20 omega
9 vert 19 net 20 omega
10 bleu 22 flou 12 gamma
Je voudrais faire une requête genre :
CREATE VIEW view1 AS SELECT DISTINCT (buffer), couleur, contour,forme,id FROM table1;
Pour obtenir le resultat suivant :
View1:
id couleur contour buffer forme
-----------------------------------------------------------------------------------------------------------------------------------------------------
1 rouge net 2 alpha
5 jaune flou 3 beta
8 vert net 20 omega
10 bleu flou 12 gamma
mais malheureusement cette requête me renvoie la table d'origine ce qui est normal car tous le id sont différents!!
Seriez-vous m'aider?
Merci d'avance
Léa
Hors ligne
Bonjour,
il faut faire un choix pour la valeur id retournée. Dans votre cas, c'est la valeur minimum, ce qui équivaut à cette requête :
SELECT min(id), couleur, contour, buffer, forme FROM table1 GROUP BY couleur, contour, buffer, forme
Julien.
https://rjuju.github.io/
Hors ligne
merci beaucoup. j'étais partie sur ce genre de requête mais avec FIRST au lieu de MIN mais cela ne fonctionnait pas!! je ne connaissais pas le bon nom de la fonction dans postgres!!
Encore merci et bon week-end
Lea
Hors ligne