我在MySQL中有两个表,一个叫做用户,一个叫做属性。 users表存储关于人的预定义信息集,例如他们的用户名和其他各种信息。但是,属性的表结构如下:
+----------+---------+-------+
| username | datakey | value |
+----------+---------+-------+
在整理数据库时,我选择使用该格式,因为它允许我为用户添加任意数量的数据。但是,现在我需要通过特定的数据键'd-level'来订购用户。由于属性表中有多个用户名,我不确定如何继续。
我最初的想法是使用JOIN语句来连接用户表和属性表,但是我无法弄清楚如何只有具有特定数据键的行才能将它转到ORDER BY datakey('d-电平')
感谢您的帮助,我很感激!
答案 0 :(得分:0)
我相信这就是你要找的东西
SELECT u.*
FROM users u
INNER JOIN attributes a
ON (a.username = u.username and a.datakey = 'YOUR_DATAKEY_VALUE')
ORDER BY a.datakey;
如果没有,请你加上预期的输出。
干杯,