Subquery returns more than 1 row 解决方案
2018-03-10 13:59
1001 查看
通过这个字面意思都能明白,就是子查询的结果不止1条。比如:
select userName,roleId,(case when orgID!='' then (SELECT name FROM organization WHERE orgID=orgID) END) as orgName,
(CASE WHEN bid!='' THEN(SELECT name FROM building WHERE bid=bid) END) AS buildName from user where userName='tj'执行这句sql时总是报错:-- SELECT name FROM building WHERE bid=1
[Err] 1242 - Subquery returns more than 1 row
但是单独执行"SELECT name FROM building WHERE bid=1"时,确只返回一条记录。百思不得其解!!
后来抱着试试的态度,把building表的bid改成id,select userName,roleId,(case when orgID!='' then (SELECT name FROM organization WHERE id=orgID) END) as orgName,
(CASE WHEN bid!='' THEN(SELECT name FROM building WHERE id=bid) END) AS buildName from user where userName='tj'这样就没再报错。为了保险起见,也将organization的主键orgID 改成id。
select userName,roleId,(case when orgID!='' then (SELECT name FROM organization WHERE orgID=orgID) END) as orgName,
(CASE WHEN bid!='' THEN(SELECT name FROM building WHERE bid=bid) END) AS buildName from user where userName='tj'执行这句sql时总是报错:-- SELECT name FROM building WHERE bid=1
[Err] 1242 - Subquery returns more than 1 row
但是单独执行"SELECT name FROM building WHERE bid=1"时,确只返回一条记录。百思不得其解!!
后来抱着试试的态度,把building表的bid改成id,select userName,roleId,(case when orgID!='' then (SELECT name FROM organization WHERE id=orgID) END) as orgName,
(CASE WHEN bid!='' THEN(SELECT name FROM building WHERE id=bid) END) AS buildName from user where userName='tj'这样就没再报错。为了保险起见,也将organization的主键orgID 改成id。
相关文章推荐
- 解决"Subquery returns more than 1 row"sql查询错误
- Subquery returns more than 1 row
- oracle查询报这个错误:single-row subquery returns more than one row
- Subquery returns more than 1 row查询结果多于一行
- 【MySQL】Subquery returns more than 1 row 解决方案
- 报错java.sql.SQLException: Subquery returns more than 1 row
- ORA-01427single-row subquery returns more than one
- 报错 MYSQL --Subquery returns more than 1 row
- MYSQL --Subquery returns more than 1 row查询结果多于一行
- MYSQL --Subquery returns more than 1 row查询结果多于一行
- MYSQL --Subquery returns more than 1 row查询结果多于一行
- MYSQL --Subquery returns more than 1 row查询结果多于一行
- SQL Error: ORA-01427: single-row subquery returns more than one row
- ORA-01427:single-row subquery returns more than one row
- [Err] 1242 - Subquery returns more than 1 row
- mysql 报错 ‘u'Subquery returns more than 1 row'’
- SQL 1242 subquery returns more than 1 row
- 错误代码: 1242 Subquery returns more than 1 row
- java.sql.SQLException: ORA-01427: single-row subquery returns more than one row
- 错误代码: 1242 Subquery returns more than 1 row