Tuesday, April 11, 2017

Get two join tables all records

I have some problem in fetching data in MySQL. I have three tables Invoice, Invoice_detail, Invoice_ticket_detail, Invoice_detail and invoice_ticket_detail both have data of invoice I want to get all records from matching tables.

One matching record in invoice detail and three matching records in invoice_ticket_detail. I want to get four records is it possible.

select `ez_client`.`name`, `ez_invoice`.`client_id`, `ez_invoice`.`id`, `ez_invoice`.`invoice_id`, `ez_invoice`.`invoice_date`, ez_invoice_detail.hours as total_hours, ez_invoice_ticket_detail.hours AS detail_hours, ez_invoice_detail.amount, (ez_invoice_ticket_detail.amount - ez_invoice_ticket_detail.tax) as total_amount, ez_invoice_detail.id as invd_id, ez_invoice_ticket_detail.id AS itd_id  
from `ez_invoice` 
left join `ez_invoice_detail` on `ez_invoice_detail`.`invoice_id` = `ez_invoice`.`id` 
left join `ez_invoice_ticket_detail` on `ez_invoice_ticket_detail`.`invoice_id` = `ez_invoice`.`id` 
inner join `ez_client` on `ez_invoice`.`client_id` = `ez_client`.`id` 
where `ez_invoice`.`is_posted` = 1 and `ez_client`.`company_id` = 109

Please suggest.



via Dayachand Patel

Advertisement