MYSQL IF字段包含此字段,则生成另一个

MYSQL IF字段包含此字段,则生成另一个,mysql,if-statement,concatenation,case,Mysql,If Statement,Concatenation,Case,我的表1中有一个名为ITEM的字段。如果项目包含%USED-%(USED-),则我希望将其第1层二手餐厅设备进行相应分组 这是我目前的陈述,我如何通过IF或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_N

我的表1中有一个名为
ITEM
的字段。如果
项目
包含
%USED-%
(USED-),则我希望将其
第1层
二手餐厅设备
进行相应分组

这是我目前的陈述,我如何通过
IF
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
电流输出:

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
我希望仍有一些
NULL
Tier1和Tier2,但我希望它也将Tier1显示为“二手餐厅设备”,类似于以下内容:

TIER1                      TIER2
NULL                       NULL
Used Restaurant Equipment  NULL
Business Type              Ice Cream Equipment
Chinese Food Equipment     Ricers
Concession Equipment       Concession 

如果您不尝试重新定义第1层,而是创建一个新列,从第1层或常量“二手餐厅设备”中获取其值,则最容易实现这一点。然后,您可以按照创建新列时使用的相同条件进行分组,因为group by子句可以是完整表达式。

这应该是您要查找的:

   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

请添加一些示例数据和预期结果。更新,希望这能解释一点more@ToddN预期的输出是有帮助的,但产生该输出的数据也会有帮助。。。具体来说,
项的值是多少?