Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 在子查询中获取值_Mysql_Sql_Subquery_Mysql Error 1064 - Fatal编程技术网

Mysql 在子查询中获取值

Mysql 在子查询中获取值,mysql,sql,subquery,mysql-error-1064,Mysql,Sql,Subquery,Mysql Error 1064,我不希望r.reguser\u id作为结果中的test列,如果我从Select语句中删除此列,则我在中遇到问题,其中bu.business\u id=r.reguser\u id并得到一个错误,返回的行数超过1行。 SELECT r.reguser_name , r.reguser_id as test, (Select r.reguser_id as c, GROUP_CONCAT(i.industry_name) as Industry From reguser r inner JO

我不希望r.reguser\u id作为结果中的test列,如果我从Select语句中删除此列,则我在中遇到问题,其中bu.business\u id=r.reguser\u id并得到一个错误,返回的行数超过1行。

SELECT r.reguser_name ,  r.reguser_id as test,

(Select r.reguser_id as c, GROUP_CONCAT(i.industry_name) as Industry

From reguser r inner JOIN business_industry bu ON r.reguser_id = bu.business_id  join industry i ON bu.industry_id = i.industry_id

WHERE  bu.business_id = test

GROUP BY bu.business_id
) as indus

FROM reguser r
请告诉我如何解决这个问题? 多谢各位

SELECT r.reguser_name ,  r.reguser_id,

(Select r1.reguser_id as c, GROUP_CONCAT(i.industry_name) as Industry

From reguser r1 inner JOIN business_industry bu ON r1.reguser_id = bu.business_id  join industry i ON bu.industry_id = i.industry_id

WHERE  bu.business_id = r.reguser_id

GROUP BY bu.business_id
) as indus

FROM reguser r
不要对主表和子查询中的表使用相同的alliase。这真是糟糕的做法

SELECT t1.user_name FROM
(SELECT r.reguser_name as user_name,  r.reguser_id as test,

(Select r.reguser_id as c, GROUP_CONCAT(i.industry_name) as Industry

From reguser r inner JOIN business_industry bu ON r.reguser_id = bu.business_id  join     industry i ON bu.industry_id = i.industry_id

WHERE  bu.business_id = test

GROUP BY bu.business_id
) as indus

FROM reguser r)t1
WHERE t1.user_name IS NOT NULL

我认为,如果以这种方式进行查询时使用SQLDeveloper,则需要使用某种where子句,即为select查询提供别名。希望这有帮助。

是的,将r改为r1解决了我的问题,非常感谢。