Mysql SELECT 不工作
我有表格:
用户
ID | RANK | NAME | EMAIL | PASS
01 | 1 | Foo | [email protected] | $06$uhAMXXZowVIDQ.ZR1gky.u3f/UBkLW8Kd8cbyDt2eNx1qnZH2AUmW
允许
ID | RANK | STEP
01 | 1 | 1
02 | 1 | 2
03 | 1 | 3
04 | 2 | 1
05 | 4 | *
而且,我需要了解用户等级的所有允许步骤。
我的代码:
SELECT users.*, allow.step AS allow_step
FROM users AS users LEFT JOIN allow ON users.rank = allow.rank
但只选择了一个步骤。
感谢您的帮助!
I have the tables:
users
ID | RANK | NAME | EMAIL | PASS
01 | 1 | Foo | [email protected] | $06$uhAMXXZowVIDQ.ZR1gky.u3f/UBkLW8Kd8cbyDt2eNx1qnZH2AUmW
allow
ID | RANK | STEP
01 | 1 | 1
02 | 1 | 2
03 | 1 | 3
04 | 2 | 1
05 | 4 | *
And, I need to know all allowed steps from user rank.
My code:
SELECT users.*, allow.step AS allow_step
FROM users AS users LEFT JOIN allow ON users.rank = allow.rank
But only one step are selected.
Thanks for help!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这应该选择以逗号分隔的步骤列表。类似于
1,2,3
。如果您需要对串联值进行排序,请将查询的第一行更改为:
This should select a list of steps separated by commas. Something like
1,2,3
.If you need the concatenated values to be ordered, change the first line of the query to:
给定的 SQL 和数据将产生三行 - 即使不使用 LEFT JOIN(一个简单的 JOIN 就足够了)。
您不显示或描述您如何运行 SQL;您是否需要在循环中获取多行,或者使用某种“获取所有行”方法?
The given SQL and data will yield three rows - and would even without the use of a LEFT JOIN (a simple JOIN would suffice).
You don't show or describe how you are running the SQL; do you need to fetch multiple rows in a loop, or use some 'fetch all rows' method?