gpt4 book ai didi

mysql - 如何在连接表后使用where子句?

转载 作者:行者123 更新时间:2023-11-29 06:27:50 26 4
gpt4 key购买 nike

我有两个表:

// refueling_data 
+----------+---------+
| distanse | user_id |
+----------+---------+
| 61000 | 1 |
| 60000 | 1 |
| 60000 | 3 |
+----------+---------+

// user
+----------+-----------+
| user_id | username |
+----------+-----------+
| 1 | admin |
| 3 | user1 |
+----------+-----------+

两个表格都有更多的列,根据这个原理,没有必要显示其他数据。另外,当我尝试放入表 refueling_data 中存在的 WHERE 子句列时,一切都会正确。但如果我使用仅存在于用户表中的列,则不起作用。

这是我的查询:

SELECT * FROM (SELECT distance, username FROM refueling_data LEFT JOIN user ON refueling_data.user_id=user.user_id) AS tab WHERE tab.username =admin;

执行查询后出现错误:错误代码:1054。“where 子句”中存在未知列“admin”

我想要实现的表格:

// tab
+-----------+-----------+
| username | distance |
+-----------+-----------+
| admin | 60000 |
| admin | 61000 |
+-----------+-----------+

请给我建议,告诉我我犯了什么错误

最佳答案

不需要子查询,因为 admin 是一个字符串,您需要用单引号将其括起来,'admin'

SELECT username, distance
FROM refueling_data r
JOIN user u ON r.user_id = u.user_id
WHERE u.username = 'admin'
ORDER BY distance ASC -- if you want to sort on distance

关于mysql - 如何在连接表后使用where子句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58471729/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com