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
Ceci doit devenir ça :prod_______|__ prix
11111 11___|__4
11111 12___|__5
11111 13___|__null
11111 13 1_|__3
11111 13 5_|__2
Voici mon code mais je n'arrive pas à le terminer :produit_____|__ prix
11111 11___|__4
11111 12___|__5
11111 13___|__3
Si jamais vous avez des idées ....
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"
Partager