SELECT substring_index( SELECT tc.commodity_classify FROM tb_commodity tc WHERE tc.merchant_id = 97 AND !ISNULL(tc.commodity_classify) GROUP BY tc.commodity_classify LIMIT 1 ,',',-1) > 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 'SELECT tc.commodity_classify FROM tb_commodity tc ' at line 2 > 时间: 0.027s出现错误
时间: 2023-07-03 11:07:35 浏览: 107
这个 SQL 语句有语法错误。在 SELECT 子句中,需要指定要选择的列,而不是直接选择一个子查询。您可以尝试修改为以下语句:
```SQL
SELECT SUBSTRING_INDEX(
tc.commodity_classify, ',', -1
) AS result
FROM tb_commodity tc
WHERE tc.merchant_id = 97
AND !ISNULL(tc.commodity_classify)
GROUP BY tc.commodity_classify
LIMIT 1;
```
这将选择 `tb_commodity` 表中 `merchant_id` 为 97 且 `commodity_classify` 列不为空的记录,按 `commodity_classify` 列分组,选择第一组的最后一个子字符串。
相关问题
SELECT substring_index( SELECT tc.commodity_classify FROM tb_commodity tc WHERE tc.merchant_id = 97 AND !ISNULL(tc.commodity_classify) GROUP BY tc.commodity_classify LIMIT 1 ,',',-1)
这是一条 MySQL 数据库查询语句。它的作用是从表 tb_commodity 中选择商家ID为 97 的商品分类,并从第二个分类开始,以逗号为分隔符返回后面的所有分类。
具体来说,这个查询语句先通过 WHERE 子句过滤出商家ID为 97 的商品,然后通过 GROUP BY 子句将它们按照分类分组。接着,使用 LIMIT 子句跳过第一个分类,再使用 substring_index 函数从第二个分类开始提取后面的所有分类,并以逗号为分隔符连接它们。最后,查询结果将返回一个字符串,其中包含所有第二个分类及其后面的分类。
阅读全文