2016-08-22 78 views
-4

Iam尝试连接两个表(view_sales_report和com_payments)并显示来自view_sales_report的所有记录。查询如下,但问题显示只有com_payments条目的记录。我想我需要改变哪里的条件。加入两个表并显示所有记录

SELECT 
view_sales_report.tender_id, 
view_sales_report.customer_code, 
view_sales_report.marketing_exe, 
com_payments.main_section, 
com_payments.amt_curr, 
com_payments.amount, 
com_payments.date_of_pay, 
com_payments.cat_paid, 
view_sales_report.category, 
view_sales_report.po_received_date 
FROM view_sales_report 
JOIN com_payments ON com_payments.tender_id = view_sales_report.tender_id AND com_payments.main_section ='Incentives' 
WHERE com_payments.cat_paid = 'Marketing' 
ORDER BY view_sales_report.file_no DESC 

任何人都可以帮助我吗?

表view_sales_report

tender_id | customer_code | 
1   | 0    | 
2   | 0    | 
3   | 0    | 
4   | 0    | 
5   | 1    | 
6   | 0    | 

表Com_Payments

tender_id | main_section | cat_paid 
1   |    | marketing 

所需的输出

tender_id | customer_code | cat_paid 
1   | 0    | Marketing 
2   | 0    | 
3   | 0    | 
4   | 0    | 
5   | 1    | 
6   | 0    | 

输出IAM获得

tender_id | customer_code | cat_paid 
1   | 0    | Marketing 
+0

显示与预期结果 – Jens

+0

请查看一些示例数据,我已经添加所需的输出和输出IAM越来越 –

回答

0

使用左连接和其中添加到on条款

SELECT 
view_sales_report.tender_id, 
view_sales_report.customer_code, 
view_sales_report.marketing_exe, 
com_payments.main_section, 
com_payments.amt_curr, 
com_payments.amount, 
com_payments.date_of_pay, 
com_payments.cat_paid, 
view_sales_report.category, 
view_sales_report.po_received_date 
FROM view_sales_report 
LEFT JOIN com_payments ON com_payments.tender_id = view_sales_report.tender_id AND com_payments.main_section ='Incentives' 
AND com_payments.cat_paid = 'Marketing' 
ORDER BY view_sales_report.file_no DESC 
+0

太谢谢你了。工作正常。 –

相关问题