MYSQL IF字段包含此字段,则生成另一个
我的表1中有一个名为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
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预期的输出是有帮助的,但产生该输出的数据也会有帮助。。。具体来说,
项的值是多少?