Mysql 为什么临时桌子是空的?

Mysql 为什么临时桌子是空的?,mysql,select,temp-tables,prepend,Mysql,Select,Temp Tables,Prepend,我创建了一个查询 SELECT prodID, m.memberID, status, dues, checkNo, payDate FROM memberDues m INNER JOIN ( SELECT memberID, MAX(payDate) AS mxPayDate FROM memberDues GROUP BY memberID ) mp ON m.memberID = mp.memberID

我创建了一个查询

SELECT prodID, m.memberID, status, dues, checkNo, payDate 
FROM memberDues m 
INNER JOIN ( SELECT memberID, MAX(payDate) 
            AS mxPayDate FROM memberDues 
            GROUP BY memberID ) mp 
            ON m.memberID = mp.memberID 
AND payDate = mxPayDate
这将产生我正在寻找的输出——在本例中,只为每个成员选择最近的事务。我遇到的问题是试图将该输出放入一个临时表中。然后修改我的代码,如下所示:

CREATE TEMPORARY TABLE tempMemberDues  AS (
SELECT prodID, m.memberID, status, dues, checkNo, payDate 
FROM memberDues m 
INNER JOIN ( SELECT memberID, MAX(payDate) 
            AS mxPayDate FROM memberDues 
            GROUP BY memberID ) mp 
            ON m.memberID = mp.memberID 
AND payDate = mxPayDate
)
当我运行这个查询时,我得到了响应

MySQL返回一个空的结果集(即零行)


如果CREATE TEMPORARYT table语句在生成结果的语句前面,为什么我的临时表是空的?

您是否确实尝试过从该临时表执行
SELECT*
?除非数据真的存在,或者数据被删除,否则我看不出发生这种情况的任何原因。根据你的建议,我尝试了
SELECT*
,得到了相同的零响应。当我删除“创建临时表tempMemberDues AS”并运行查询时,我得到了输出。如果我在tempMemberDues上运行查询,响应是表不存在。临时表只在给定连接期间存在,q.v.。就是这样。没有意识到phpmyadmin的限制。将查询插入到我的代码中,效果很好。您是否确实尝试过从临时表中执行
SELECT*
?除非数据真的存在,或者数据被删除,否则我看不出发生这种情况的任何原因。根据你的建议,我尝试了
SELECT*
,得到了相同的零响应。当我删除“创建临时表tempMemberDues AS”并运行查询时,我得到了输出。如果我在tempMemberDues上运行查询,响应是表不存在。临时表只在给定连接期间存在,q.v.。就是这样。没有意识到phpmyadmin的限制。将查询插入到我的代码中,效果很好。