【发布时间】:2016-03-19 03:27:28
【问题描述】:
我正在尝试选择得分超过 50 并且在过去 3 个月内登录过的用户。然后,我想使用两个表中的 ID 将这些用户连接起来,因此我将订单表行附加到上述查询返回的每个用户。
这是我的查询:
SELECT Users.EmailAddress, Users.RewardPoints, Orders.UserID, Users.ID From Users
WHERE RewardPoints > 50 AND Users.LastLoggedIn > DATE_SUB(NOW(), INTERVAL 3 MONTH)
Inner Join Orders ON Orders.UserID = Users.ID;
但它给了我这个错误:
错误:#1064 - 您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以了解在“内部连接订单”附近使用的正确语法 On Orders.UserID = Users.ID LIMIT 0, 25' at 第 4 行
编辑想通了!
选择 Users.EmailAddress、Users.RewardPoints、Orders.UserID、Users.ID、 来自用户 在 Orders.UserID = Users.ID 上的 INNER JOIN 订单 WHERE Users.RewardPoints > 50 AND Users.LastLoggedIn > DATE_SUB(NOW(), INTERVAL 3 MONTH);
【问题讨论】:
-
如果可以,您应该只发布表的结构,而不是数据。
-
我该怎么做呢?创建表语句?
-
是的,或者像这样的代码格式的表格标题:表格用户:
| ID | NAME | SURNAME |