Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.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_Join_Subquery_In Subquery - Fatal编程技术网

Mysql 连接的子查询(位于/存在)

Mysql 连接的子查询(位于/存在),mysql,join,subquery,in-subquery,Mysql,Join,Subquery,In Subquery,这需要大约29秒的时间来减少…使用join。。。伙计们,请帮帮我。。。o_支票请求的表结构 请求id bigint20无符号非空自动增量, 钱包id int11不为空默认值“0”, 成员id int10未签名非空默认值“0”, 撤回日期默认为空, 金额int10无符号非空默认值“0”, 总金额浮动10,2未签名非空默认值“0.00”, 管理员费用浮动10,2未签名非空默认值“0.00”, tds float10,2无符号非空默认值“0.00”, 10,2无符号非空默认值“0.00”, 净金额浮动

这需要大约29秒的时间来减少…使用join。。。伙计们,请帮帮我。。。o_支票请求的表结构 请求id bigint20无符号非空自动增量, 钱包id int11不为空默认值“0”, 成员id int10未签名非空默认值“0”, 撤回日期默认为空, 金额int10无符号非空默认值“0”, 总金额浮动10,2未签名非空默认值“0.00”, 管理员费用浮动10,2未签名非空默认值“0.00”, tds float10,2无符号非空默认值“0.00”, 10,2无符号非空默认值“0.00”, 净金额浮动10,2无符号非空默认值“0.00”, 撤销类型varchar50默认为空, 银行名称varchar50默认为空, 支票编号varchar50默认为空, courier_name varchar50默认为空, 跟踪\u无varchar50默认为空, 支票\日期默认为“0000-00-00”, 主键请求\u id, 关键成员\u id成员\u id ENGINE=InnoDB默认字符集=latin1自动增量=4738

试试这个

SELECT *, `o_cheque_request.member_id`, `o_cheque_request.wallet_id`
FROM `o_cheque_request`, `o_member`, o_memberinfo`
WHERE `o_cheque_request.member_id` = `o_member.member_id`
AND `o_member.member_id` = `o_memberinfo.member_id`
AND withdraw_date >='2012-07-21'
AND `o_cheque_request.member_id`
IN (SELECT `member_id` FROM `o_cheque_request` GROUP BY `member_id` HAVING SUM(gross_amount ) <=10000)
GROUP BY `o_cheque_request.withdraw_date`, `o_cheque_request.member_id` ORDER BY `request_id` DESC

29秒取多少条记录?请提供您的表结构。嘿,我在o_check_request表中有4000多个条目…请以适当的方式为三个表提供表结构,以及您在查询中使用的它们的内部关系。每个表都有连接它们的公共字段名member_id感谢您的回复,但出现错误::您的SQL语法;检查与您的MySQL服务器版本对应的手册,以了解在第1行的“SELECT*,o_check_request.member_id,`o_check_request.wal'附近使用的正确语法
 SELECT * FROM (
        SELECT *, `o_cheque_request.member_id`, `o_cheque_request.wallet_id`
        FROM `o_cheque_request`
        JOIN `o_member` ON `o_cheque_request.member_id` = `o_member.member_id`
        JOIN `o_memberinfo` ON `o_member.member_id` = `o_memberinfo.member_id`
        WHERE withdraw_date >='2012-07-21'
        GROUP BY `o_cheque_request.member_id` HAVING SUM(`o_cheque_request.gross_amount` ) <=10000
    ) AS T
    GROUP BY `withdraw_date`, `member_id` ORDER BY `request_id` DESC