基于2个表中的相等字段的窄页结果/输出

时间:2019-06-17 15:54:15

标签: php sql join

我有三个表,我要根据表1 (经纪人)中的匹配位置,缩小表2 (策略类型)的显示结果会显示特定代理的策略(策略名称)的列表。

此代码段已插入特定经纪人的评论页面中,每个经纪人都有其自己的页面,有些经纪人是Niche 1(旅行保险),其他是Niche 2(宠物保险)

我可以执行一个有效的选择查询

function get_policy_types($type = '', $order_by='policyname'){
    global $wpdb;
    $order = '';
    $query = "select * from policytype WHERE NicheID=1 ";
    if($order_by == 'policyname'){
        $order = ' PolicyType asc ';
    }else if( $order_by == 'PolicyTypeID'){
         $order = ' PolicyTypeID asc ';
    }
    $query .= " order by  ". $order;
    return $wpdb->get_results($query);
}

但是,我需要为每个Niche做一个单独的查询-目前只有2个,但是我想做对。

我试图做这样的连接,并想用类似b.Niche_NicheID的方式替换where行中的1,但是它不起作用。我已经尝试了许多不同的方法,但是无法解决这个问题。

function get_policy_types($type = '', $order_by='policyname'){

    global $wpdb;

    $order = '';

    $query = "SELECT pt.*  FROM policytype AS pt

                    INNER JOIN broker b ON ( pt.NicheID = b.Niche_NicheID ) 

                     where pt.NicheID = 1 GROUP BY PolicyTypeID";



    if($order_by == 'policyname'){

        $order = ' PolicyType asc ';

    }else if( $order_by == 'PolicyTypeID'){

         $order = ' PolicyTypeID asc ';

    }

    $query .= " order by  ". $order;



    return $wpdb->get_results($query);

}

有人可以帮忙吗?

0 个答案:

没有答案