我有一个产品csv文件,由程序解析以更新Mysql数据库中的产品记录。
该程序具有列映射功能,并且在解析CSV文件时,可以在列中的字段中包含SQL查询。
我想要实现的是根据varchar字段的内容对产品进行细分。
要获得子类别,SQL查询的输出必须是“parentcategory”子类别|子类别',(管道' |'分隔符是要生成的类别树的必需语法)
我已经有了这个查询
concat('default category','|',[CSV_COL(13)])
这给了我一个'默认类别的输出第13列中的'字符串'哪个工作,但在默认类别下给了我太多的子类别..这些需要父类别,以使网站的导航可用...
我想要的是做一个说
的查询IF([csv_col(12)] like '*Battery*' = TRUE)
THEN CONCAT('default category','|','batteries','|',[CSV_COL(13)])
ELSE
if([csv_col(12)] like '*power supply*' = TRUE)
then concat('default category','|''Power Supplies','|',[CSV_COL(13)])
ELSE etc.......
ENDIF
答案 0 :(得分:4)
Mysql理解像
这样的东西SELECT IF(col LIKE '%aValue%', "ValueA", "ElseValue") FROM ...
您不必在IF中使用字符串:
SELECT IF(col LIKE '%aValue%', Col1, Col2) FROM ...