2

我有一个产品 csv 文件,该文件由程序解析以更新 Mysql 数据库中的产品记录。

该程序具有列映射功能,并且可以在解析 CSV 文件时在列中的字段上包含 SQL 查询。

我想要实现的是根据 varchar 字段的内容对产品进行子分类。

要获得子类别,SQL 查询的输出必须是 'parentcategory | 子类别 | subcategory ',(管道 '|' 分隔符是生成类别树所需的语法)

我有这个查询

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
4

1 回答 1

4

Mysql 理解类似的东西

SELECT IF(col LIKE '%aValue%', "ValueA", "ElseValue") FROM ...

您不必在 IF 中使用字符串:

SELECT IF(col LIKE '%aValue%', Col1, Col2) FROM ...
于 2013-04-27T16:08:18.877 回答