以下是我在MySQL中的数据库表结构 - 我希望将特定的动态字段值相互匹配,如下所述:
meta_id post_id meta_key meta_value
616 472 "machine_type" "Combined pipe cutting"
561 472 _edit_lock 1354882015:1
560 472 _edit_last 1
562 472 _mf_write_panel_id 1
565 472 _wp_page_template machine_layout.php
617 472 jet_filter
618 472 "length_x_axis" "3000mm"
619 472 machine_image 488
上面我有""
引号标记了字段 - 我必须根据这些字段应用查询并获取结果。
现在,我想检查meta_key
字段和meta_value
字段,并希望检索匹配的post_id
字段的值。
例如:meta_key
上的第一个参数将是length_x_axis
,其meta_value
中的匹配值将为3000mm
,AND
条件将为meta_key
machine_type
的{{1}}及其meta_value
中的匹配值为Combined pipe cutting
。
我需要的结果是post_id
值472
这是一个完整的动态wordpress wp_postmeta
表,其中包含许多具有此类条件的记录。
结果中最早的MySQL查询将不胜感激。
如果有任何法术错误,请原谅我,我已尽力向社区解释我的问题。
请帮忙!
答案 0 :(得分:1)
我不确定你真正想要什么,但我认为这是你正在寻找的问题:
SELECT t1.post_id
FROM mytable t1 inner join mytable t2 on t1.post_id = t2.post_id
WHERE t1.meta_key = "length_x_axis" and t1.meta_value="3000mm"
AND t2.meta_key="machine_type" and t2.meta_value="Combined pipe cutting"