SELECT id,name FROM sh goods WHERE id IN ->(SELECT goods id FROM sh goods attr value GROUP BY goods_id ->HAVING COUNT(id) >1);的语法错误修改
时间: 2024-03-18 18:40:23 浏览: 146
以下是修正后的 SQL 语句:
```
SELECT id, name
FROM sh_goods
WHERE id IN (
SELECT goods_id
FROM sh_goods_attr_value
GROUP BY goods_id
HAVING COUNT(id) > 1
);
```
注意:
1. 在 WHERE 子句中,IN 后面的值需要用括号 `()` 括起来。
2. 在 SELECT 子句中,需要指定要查询的字段名。
3. 在 FROM 子句中,表名和表别名之间需要有空格。
4. 在子查询中,需要按照 `GROUP BY` 后的字段进行聚合,并使用 `HAVING` 子句进行过滤。
相关问题
SELECT attr value FROM sh goods attr_value WHERE attr id In->(SELECT id FROM sh goods attr WHERE parent id =1);的语法错误修改
以下是修正后的 SQL 语句:
```
SELECT attr_value
FROM sh_goods_attr_value
WHERE attr_id IN (SELECT id FROM sh_goods_attr WHERE parent_id = 1);
```
注意:
1. 在 WHERE 子句中,IN 后面的值需要用括号 `()` 括起来。
2. 在 SELECT 子句中,需要指定要查询的字段名。
3. 在 FROM 子句中,表名和表别名之间需要有空格。
SELEcr b.name, .attr_value FRoM sh goods attr value a->JOIN sh goods_attr b on a.attr id =b.id ->WHERE a.goods id =5;的语法错误修改
以下是修正后的 SQL 语句:
```
SELECT b.name, a.attr_value
FROM sh_goods_attr_value a
JOIN sh_goods_attr b ON a.attr_id = b.id
WHERE a.goods_id = 5;
```
注意:
1. 在 SELECT 语句中,字段之间需要用逗号 `,` 分隔。
2. 在 FROM 语句中,表名和表别名之间需要有空格。
3. 在 ON 语句中,连接条件中的字段名需要加上表别名前缀。
4. 在 WHERE 语句中,字段名之间需要用下划线 `_` 分隔,而不是空格。
阅读全文