Tuesday, August 8, 2017

Membuat LEFT JOIN 2 id dengan acuan 1 table yang sama

Cara menggabungkan 2 id dengan acuan 1 table yang sama
Contoh ID: id_company dan id_company_payer

Disini sya akan menjelaskan jara mempergunakan LEFT JOIN 2 id dengan mempergunakan 1 acuan table, yaitu mas_company karena data indentitas company di ambil dari 1 tabel yang sama maka harus digunakan fungsi LEFT JOIN untuk menggabungkan 2 id tersebut, dan jangan lupa perhatikan inisial pada setiap table dan id tersebut.

QUERY PADA SQL:
SELECT `id_order_info`, `order_no`, `id_inspection_type`, `id_media`, `date_order`, `contact_person`, `position_person`, `no_person`, 
`naco`.`name_company` as naco, `id_reference_no`, `date_reference_no`, `sgs_order`, `oc_signer`, `position`, 
`copa`.`name_company` as copa, `advanced_payment`, `buyer` 
FROM (`mas_order`) 
LEFT JOIN `mas_company` as naco ON `mas_order`.`id_company` = `naco`.`id_company` 
LEFT JOIN `mas_company` as copa ON `mas_order`.`id_company_payer` = `copa`.`id_company` 
WHERE `id_order_info` = '22'

Pada query diatas menunjukan bahwa mas_company di beri inisial naco dan copa agar pada saat memanggil tidak bentrok atau sql ambiguous column name.

QUERY MODEL CODEIGNITER

function get_by_id($id)
    {
        $this->db->where($this->id, $id);
        $this->datatables->
select('id_order_info,order_no,id_inspection_type,id_media,date_order,contact_person,position_person,no_person, naco.name_company as naco,id_reference_no, date_reference_no, sgs_order,oc_signer,position, copa.name_company as copa,advanced_payment,buyer');

$this->datatables->join('mas_company as naco', 'mas_order.id_company = naco.id_company','left');
$this->datatables->join('mas_company as copa', 'mas_order.id_company_payer = copa.id_company','left');

        return $this->db->get($this->table)->row();

    }

*Untuk melakukan JOIN Table harus di perhatikan fungsi inisialnya.

No comments:

Post a Comment

author
Ade Pramono.AR
Selamat datang di blog kami, silahkan cari kebutuhan serta permasalahan anda di sini. The real programmer Copy/Paste hehehheeheh