我有三个表,我要根据表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);
}
有人可以帮忙吗?