Bonjour,
j'ai un petit concernant une requête, la voici :
mon souci c'est que j'ai des résultats du genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT code, ref, url_produit, prix FROM table_1 WHERE differente condition que n'ont pas d'importance ici :D
et j'aimerais avoir comme résultats :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 10, 1525, www.monproduit_1.fr,10.25 10, 1525, www.monproduit_2.fr,10.25 10, 1525, www.monproduit_3.fr,10.25 11, 1527, www.monautreproduit_1.fr,100.25
je souhaiterais prendre uniquement une ligne quand le code, la ref et le prix sont identiques, pour ne plus avoir de "doublons" (qui n'en sont pas vraiment en fait ...)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 10, 1525, www.monproduit_3.fr,10.25 11, 1527, www.monautreproduit_1.fr,100.25
J'avais pensé à un LIMIT 1, mais je ne sais pas où le mettre exactement.
Ensuite, j'avais pensé à une boucle for :
Mes résultats ainsi obtenus seront dans une table temporaire, et ensuite je peux les utiliser comme je le souhaite et refaire des traitements au besoin, mais ma solution apparemment ne fonctionne pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 CREATE OR REPLACE FUNCTION nouvellefonction() RETURNS void AS $BODY$ DECLARE i record; --FETCH FORWARD all FROM test; BEGIN FOR i IN select code from table1 LOOP insert into ma_table_temporaire (code, ref,url_produit, prix) select code, ref, url_produit, prix from table1 limit 1; END LOOP; RETURN; END
j’espère avoir été relativement claire et merci d'avance
Partager