Bonjour,

j'ai un petit concernant une requête, la voici :

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
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
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
et j'aimerais avoir comme résultats :

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
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 ...)

J'avais pensé à un LIMIT 1, mais je ne sais pas où le mettre exactement.

Ensuite, j'avais pensé à une boucle for :

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
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

j’espère avoir été relativement claire et merci d'avance