如何在 mySQL 中使用嵌套案例?
How can I use nested cases in mySQL?
我想处理嵌套案例:
SELECT *,
GROUP_CONCAT(DISTINCT CONCAT(
CASE
WHEN data.name NOT "field" THEN
CASE
WHEN data.category = "A" THEN "A"
WHEN data.category = "B" THEN "B"
ELSE "C"
END,data.name
END
)ORDER BY FIND_IN_SET(data.category,"B,C,A") ASC, data.name ASC SEPARATOR " <br>") AS result
FROM data;');
但我收到一条错误消息:
Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error or
access violation: 1064 You have an error in your SQL syntax; check the
manual that corresponds to your MySQL server version for the right
syntax to use near 'data.name END ' at line 11
您的查询中存在一些语法错误。 运行 在您的查询编辑器中输入以下代码,就可以了。
SELECT
*,
GROUP_CONCAT(
DISTINCT CONCAT(
CASE
WHEN data.name = "field"
THEN (
CASE
WHEN data.category = "A"
THEN "A"
WHEN data.category = "B"
THEN "B"
ELSE "C"
END
)
END,
data.name
)
ORDER BY FIND_IN_SET(data.category, "B,C,A") ASC,
data.name ASC SEPARATOR " <br>"
) AS result
FROM DATA;
我想处理嵌套案例:
SELECT *,
GROUP_CONCAT(DISTINCT CONCAT(
CASE
WHEN data.name NOT "field" THEN
CASE
WHEN data.category = "A" THEN "A"
WHEN data.category = "B" THEN "B"
ELSE "C"
END,data.name
END
)ORDER BY FIND_IN_SET(data.category,"B,C,A") ASC, data.name ASC SEPARATOR " <br>") AS result
FROM data;');
但我收到一条错误消息:
Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'data.name END ' at line 11
您的查询中存在一些语法错误。 运行 在您的查询编辑器中输入以下代码,就可以了。
SELECT
*,
GROUP_CONCAT(
DISTINCT CONCAT(
CASE
WHEN data.name = "field"
THEN (
CASE
WHEN data.category = "A"
THEN "A"
WHEN data.category = "B"
THEN "B"
ELSE "C"
END
)
END,
data.name
)
ORDER BY FIND_IN_SET(data.category, "B,C,A") ASC,
data.name ASC SEPARATOR " <br>"
) AS result
FROM DATA;