如何使用PXSelectJoinOrderBy连接同一个表两次

时间:2016-04-27 06:10:39

标签: sql acumatica

我正在尝试使用PXSelectJoinOrderBy为以下SQL语句创建视图

public function add()
{

        $this->form_validation->set_rules('bus_id', 'Bus', 'trim|required|callback_bus_id_check');
        $this->form_validation->set_rules('route_id', 'Route Name', 'trim|required|callback_route_id_check');
        if ($this->form_validation->run() == FALSE) {
        $this->load->view('load_your_view');
        }else{
        echo "Added";
        }
}
public function bus_id_check($val){
        if($val ==0)
        {
          $this->form_validation->set_message('bus_id_check', 'Please Select Bus.');
          return false;
        } 
        else
        {
          return true;
         }
    }

     public function route_id_check($val){
        if($val ==0)
        {
          $this->form_validation->set_message('route_id_check', 'Please Select Route.');
          return false;
        } 
        else
        {
          return true;
         }
    }

我使用以下语句一次加入INItemXRef表,它运行正常。

SELECT * FROM INVENTORYITEM II
LEFT JOIN INItemXRef X1 ON II.InventoryID = X1.InventoryID AND 
X1.AlternateType = '0VPN' LEFT JOIN INItemXRef X2 ON II.InventoryID = X1.InventoryID AND
X2.AlternateType = '0CPN'

如何使用不同的别名再次加入INItemXRef?

1 个答案:

答案 0 :(得分:6)

您可以通过创建继承INItemXRef类并在bql查询中使用它们的类来获得所需的结果。

std::ifstream

您还需要覆盖将用于比较的参数,以便系统可以绑定它们。

有关其他信息,您还可以查看以下问题: Acumatica BQL Query with the same table more than once