如何更轻松地搜索表结构为
的表数据id | post_id | meta_key | meta_value
例如,如果我知道我感兴趣的一些meta_values并且我知道它们对应的meta_key,我该如何为它编写查询?
假设有5个行条目,例如像
那样的同一个成员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来执行此操作,但我认为这个表设计模式很常见,因此必须有一种简单的方法来从中获取数据。
答案 0 :(得分:1)
好吧,如果每个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);