如何更轻松地搜索表结构所在的表数据
id | post_id | meta_key | meta_value
例如,如果我知道一些我感兴趣的meta_值,并且我知道它们对应的meta_键,我如何为它编写查询?
假设对于同一个成员like有5个行条目like
id | post_id | meta_key | meta_value
1 | 22 | fname | Bobby
2 | 22 | lname | Bobertson
3 | 22 | age | 50
4 | 22 | member_id | 99
我想得到
fname, lname
哪里member_id
=99?我知道如何编写许多forloops来实现这一点,但我认为这种表设计模式很常见,因此必须有一种简单的方法从中获取数据。
最佳答案
如果每个post_id
只有一个member_id
可以使用以下查询:
select meta_value
from tbl
where meta_key in ('fname', 'lname')
and post_id in (select post_id
from tbl
where meta_key='member_id'
and meta_value=99);