MySQL JOIN不返回值

问题描述 投票:1回答:2

我有mysql查询,它似乎可以正常工作,但不从付款表中返回值。我在做什么错?

SELECT members.id, members.name, members.lastname 
FROM members 
JOIN (SELECT payments.id, payments.user_id,  payments.begin_date,
MAX(payments.finish_date) AS finish_date, payments.price 
FROM payments 
GROUP BY payments.user_id) 
AS payments 
WHERE members.id=payments.user_id AND payments.finish_date>=CURDATE() 
ORDER BY payments.finish_date ASC, payments.id ASC`

我使用:

echo stripslashes($wiersz['begin_date']);

返回行数据。

mysql select join echo
2个回答
0
投票

您可能要注意,您没有在主查询中选择begin_date字段:

SELECT members.id, members.name, members.lastname FROM ...

尝试使用

SELECT members.id, members.name, members.lastname, begin_date FROM ...

安德烈


0
投票

finish_date是只是一个日期,还是还有小时,分钟和秒?您可以尝试设置日期格式

WHERE members.id=payments.user_id AND DATE(payments.finish_date) >= CURDATE()
ORDER BY DATE(payments.finish_date) ASC, payments.id ASC
© www.soinside.com 2019 - 2024. All rights reserved.