【问题标题】:Where clause stopped workingWhere 子句停止工作
【发布时间】:2017-09-13 06:42:08
【问题描述】:

我有这段代码(没有 WHERE,正在工作)我如何让它与 WHERE 子句一起工作?

我只需要它只列出当前和最多 2 年的行。

$SQL = "SELECT ";
$SQL .= "SUM(Bookings.Spots) as SUMSPOT, Trips.ID, Bookings.FK_ID, Trips.MaxSpots, ";   
$SQL .= "Trips.Tripnr, Trips.StartDate, Trips.EndDate, Trips.StartLocation, ";
$SQL .= "Trips.DestinationDK, Trips.PricePerSpot "; 
$SQL .= "FROM Trips WHERE Trips.EndDate >= NOW() AND Trips.EndDate < DATE_ADD(NOW(), INTERVAL 2 YEAR) ";
$SQL .= "LEFT JOIN Bookings on Bookings.FK_ID = Trips.ID ";
$SQL .= "GROUP BY Trips.ID, Bookings.FK_ID ORDER BY Trips.StartDate ASC ";      

【问题讨论】:

  • 到目前为止你尝试了什么?
  • 您是否收到任何错误消息?如果是的话:看看它们,阅读它们,理解它们。
  • 缺少 ON 子句。
  • 分组依据无效。
  • 请不要这样做。破坏 sql 语句确实增加了很大的人为错误的可能性。在一定复杂度下,您应该考虑使用对象关系管理器。

标签: php sql date where clause


【解决方案1】:

您需要在LEFT JOIN 之后和GROUP 标记之前添加WHERE 子句。

您可以查看文档here 以获取有关可以在何处放置关键字的更多答案。

【讨论】:

  • 完美运行!谢谢;)
猜你喜欢
  • 2014-09-28
  • 2023-04-06
  • 2022-06-15
  • 1970-01-01
  • 2021-10-31
  • 2011-08-25
  • 2021-12-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多