Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

MYSQL IF Field contains THIS make other Field THAT

I have a field called ITEM in my table1. If ITEM contains %USED-% (USED-) then I want to make its TIER1 Used Restaurant Equipment so it groups accordingly.

This is my current statement, how can I achieve the above with an IF or CASE?

select 
    CT.TIER1, CT.TIER2
from
    trx.table1 MT
        LEFT JOIN
    trx.table2 CT1 ON MT.ITEM = CT1.ITEM
        LEFT JOIN
    trx.table3 CT ON CT1.WEB_NUM = CT.WEBNUMBER
GROUP BY CT.TIER1
LIMIT 0 , 15

Current Output:

TIER1                   TIER2
NULL                    NULL
Business Type           Ice Cream Equipment
Chinese Food Equipment  Ricers
Concession Equipment    Concession Accessories
Cooking Equipment       Fryers
Food Preparation        Food Preparation Supplies
Food Storage            Storage Racks
Food Warming Equipment  Hot Food Wells

I expect that there still be some NULL Tier1 and Tier2's but I want it to also display a TIER1 as 'Used Restaurant Equipment', similar to this:

TIER1                      TIER2
NULL                       NULL
Used Restaurant Equipment  NULL
Business Type              Ice Cream Equipment
Chinese Food Equipment     Ricers
Concession Equipment       Concession 
like image 774
ToddN Avatar asked Oct 31 '25 02:10

ToddN


1 Answers

This should be what you're looking for:

   SELECT
       IF (MT.ITEM LIKE '%USED-%', 'Used Restaurant Equipment', CT.TIER1) AS TIER1,
       CT.TIER2
   FROM
       trx.table1 MT
           LEFT JOIN
       trx.table2 CT1 ON MT.ITEM = CT1.ITEM
           LEFT JOIN
       trx.table3 CT ON CT1.WEB_NUM = CT.WEBNUMBER
   GROUP BY
       IF (MT.ITEM LIKE '%USED-%', 'Used Restaurant Equipment', CT.TIER1)
   LIMIT 0 , 15
like image 173
MichaelRushton Avatar answered Nov 01 '25 20:11

MichaelRushton



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!