【发布时间】:2019-09-20 00:12:48
【问题描述】:
TABLES
***************************************
| events | attendance |
***************************************
| event-id | atd-id |
| event-name | event-id |
| event-date-time | user-id |
| event-address | guests |
| | |
***************************************
event-date-time 是(日期时间)格式。
我正在尝试获取用户将参加的所有活动, 并按日期和时间排序。
$sql = "SELECT *
FROM events, attendance
WHERE `attendance.event-id` = `events.event-id`
AND `attendance.user-id` = ".$user-id." ORDER BY `event-date-time` DESC";
显示行:
- 事件名称、事件地址、事件日期时间
- 事件名称、事件地址、事件日期时间
- 事件名称、事件地址、事件日期时间
- 事件名称、事件地址、事件日期时间
- ...
我也试过了:
$sql = "SELECT *
FROM `events` e
INNER JOIN `attendance` a ON a.event-id = e.event-id
ORDER BY `event-date-time` DESC
WHERE a.user-id = ".$user_id;
【问题讨论】:
-
ORDER BY在WHERE之后。您还应该学习使用参数。 -
修正order by子句后出现什么错误。
-
请在代码问题中给出minimal reproducible example--剪切&粘贴&可运行代码;具有期望和实际输出(包括逐字错误消息)的示例输入(作为初始化代码);标签和版本;明确的规范和解释。这包括您可以提供的最少代码,即您显示的代码可以通过您显示的代码扩展为不可以。 (调试基础。)对于包含 DBMS/产品和 DDL 的 SQL,其中包括约束和索引以及表格格式的基表初始化。 PS你有一个语法错误。阅读语法和手册。显示组成子表达式是好的。
-
查看 How to Ask,其他 help center 链接,点击谷歌搜索“stackexchange 作业”和投票箭头鼠标悬停文本。