合并这两个数据库选择查询


Merging these two database select queries

我想知道是否有一种方法可以将这两个数据库查询合并为一个:

$result = $wpdb->get_row("SELECT meta_value FROM ".$wpdb->prefix.
        "postmeta WHERE meta_key = '_cat_num' AND post_id = $var");
$name = $wpdb->get_row("SELECT name FROM ".AH_FEED_DETAILS_TABLE.
        " WHERE id = " . (int)$result->meta_value);
return $name->name;

第一个查询查找类别值,然后用于查找AH_FEED_DETAILS_TABLE表

中的名称字段

您可以通过使用带子查询的IN来让数据库完成这项工作,如下所示:

$name = $wpdb->get_row("SELECT name FROM ".AH_FEED_DETAILS_TABLE.
        " WHERE id IN (SELECT meta_value FROM ".$wpdb->prefix.
        "postmeta WHERE meta_key = '_cat_num' AND post_id = $var)");
    $result = $wpdb->get_row("SELECT name FROM ".$wpdb->prefix
                    .AH_FEED_DETAILS_TABLE." AS cat_tbl JOIN postmeta ON 
                    cat_tbl.id=postmeta.meta_value 
                    WHERE postmeta.meta_key = '_cat_num' AND postmeta.post_id = $var");

return $result->name;

我希望这有助于给出

的想法