2010-08-30 3 views
1

J'ai deux colonnes qui sont min_price et min_price. La plupart du temps, les min_price et max_price sont identiques. Au lieu de deux champs séparés pour le prix, je voudrais juste un champ "prix". Si le min_price et le max_price sont les mêmes, je veux afficher ce prix. Si le min_price et max_price sont différents, alors je voudrais montrer une chaîne concaténée qui est (min_price "-" max_price). C'est juste pour une grille de table, donc les types de données ne sont pas importants.SQL SI ALORS pour la concaténation de champs

Est-ce que j'utiliserais une instruction IF THEN dans ma sélection?

select (lots of other stuff), min_price, min_price, (lots more stuff) 

Vous ne savez pas où aller à partir d'ici. J'utilise MySQL 5.

Répondre

0

Ici, vous allez:

select if(min_price=max_price,min_price,concat(min_price,' - ',max_price)) as price 
from your_table; 
0
SELECT CASE WHEN max_price = min_price then cast(min_price as varchar(31)) 
     ELSE cast(min_price as varchar(15) + '-' + cast(max_price as varchar(15) 
     END as Pricew 
FROm Some_table 
Questions connexes