J'ai encore une énigme :

Je cherche à récupérer la donnée "prix" pour les données "prod" qui n'en ont pas.

Il ya deux types de produit :

Le produits racines : Longueur inférieur à 8
Les produits étendus : Longueur supérieur à 8.

On ne sélectionne que les produits racines (dont la longueur est < 8).

Le problème :

Si produit le produit racine n'a pas de prix alors on prend ce produit et on lui affecte le prix du premier produit étendu dont la racine est identique (ordre croissant).

Voici mon jeu de données de le table=TABLE

prod_______|__ prix
11111 11___|__4
11111 12___|__5
11111 13___|__null
11111 13 1_|__3
11111 13 5_|__2
Ceci doit devenir ça :

produit_____|__ prix
11111 11___|__4
11111 12___|__5
11111 13___|__3
Voici mon code mais je n'arrive pas à le terminer :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
SELECT 
prod,
case when prix is null 
       then (case when prod=substring(prod,2,8) 
                then prix end) end
 
FROM table 
WHERE 
Char_length(prod)<="8"
Si jamais vous avez des idées ....