我当前的查询是
$sql="SELECT * FROM events, times
WHERE events.email = '$email'
and
events.type = times.type";
events.date是形式为yyyy-mm-dd
的sql中的日期times.time是sql中相同形式的日期,但是0000-mm-dd。
我希望我的查询中有一个额外的列,其中包含事件的建议开始日期。
即。 events.date - times.time
我可以让sql返回包含推荐开始日期的额外列吗?
还是我离开了标记?
任何想法都表示赞赏。
编辑:
这就是我现在所拥有的:
SELECT *, date_diff(events.date, times.time) AS recommended FROM events, times WHERE events.email = '$email' and events.type = times.type ORDER by events.date
从我可以说它不应该失败,但确实如此。它抱怨我的语法。
编辑:
它现在正在工作,谢谢
这就是我所拥有的
$sql="SELECT *, date_format(events.date - times.time, '%Y-%m-%d') as recommended
FROM events, times
WHERE events.email = '$email'
and
events.type = times.type ORDER by events.date";
答案 0 :(得分:5)
你根本没有脱离标记。您可以创建一个额外的列,并通过计算并使用别名命名来为其命名。
SELECT *, TIMESTAMPDIFF(events.date,times.time) AS recommended_start_date
FROM events, times;
我不确定TIMESTAMPDIFF功能是否是您正在寻找的功能。也许DATEDIFF()可能会更好。 MySQL文档的This part列出了您可以使用的所有与日期相关的函数。