这是一个相当奇怪的问题,我没有它的标题。
这就是我想要做的,看看这张图:
我需要访问这样的数据
first_name = Raphael
我完全不知道如何实现这一点。
答案 0 :(得分:0)
SELECT meta_value FROM tablename WHERE meta_key = first_name
应该做的伎俩!
如果meta_key列显示'first_name'
,我们正在做的是选择元值列中的值您可以对所有字段执行相同的操作
SELECT meta_value FROM tablename WHERE meta_key = admin_color
从屏幕截图中返回“新鲜”。
答案 1 :(得分:0)
如果您需要将名字恰好为Raphael
的用户的所有/某些属性聚集在一起,那么您可以使用条件聚合这样做
SELECT user_id,
MAX(CASE WHEN meta_key = 'first_name' then meta_value END) first_name,
MAX(CASE WHEN meta_key = 'last_name' then meta_value END) last_name,
MAX(CASE WHEN meta_key = 'nickname' then meta_value END) nickname,
MAX(CASE WHEN meta_key = 'description' then meta_value END) description,
...
FROM wp_usermeta
GROUP BY user_id
HAVING MAX(meta_key = 'first_name' AND
meta_value = 'Raphael') > 0
示例输出:
| USER_ID | FIRST_NAME | LAST_NAME | NICKNAME | DESCRIPTION | |---------|------------|-----------|----------|-------------| | 19 | Raphael | Landau | enterseo | (null) |
这是 SQLFiddle 演示