J'ai besoin de sélectionner des données dans un tableau en fonction d'une sorte de priorité, comme suit :
select product, price from table1 where project = 1
-- pseudo: if no price found, do this:
select product, price from table1 where customer = 2
-- pseudo: if still no price found, do this:
select product, price from table1 where company = 3
C'est-à-dire que si j'ai trouvé 3 produits dont les prix sont basés sur project = X
Je ne veux pas sélectionner sur customer = Y
. Je veux juste retourner les 3 rangées résultantes et en finir.
Comment faire ce genre de choses en SQL ? Utiliser une sorte d'instruction CASE pour les pseudo-si ? Faire une union ou autre chose d'intelligent ?
Edit : J'utilise MS SQL.
Merci !