Mysql 连接两个表并显示所有记录
我正在尝试连接两个表(查看销售报告和com付款),并显示查看销售报告中的所有记录。下面是查询,但问题是只显示com_付款条目的记录。我想我需要改变where条件Mysql 连接两个表并显示所有记录,mysql,Mysql,我正在尝试连接两个表(查看销售报告和com付款),并显示查看销售报告中的所有记录。下面是查询,但问题是只显示com_付款条目的记录。我想我需要改变where条件 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.amou
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
有人能帮我吗
表视图\销售\报告
tender_id | customer_code |
1 | 0 |
2 | 0 |
3 | 0 |
4 | 0 |
5 | 1 |
6 | 0 |
表Com_付款
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 |
我得到的输出
tender_id | customer_code | cat_paid
1 | 0 | Marketing
使用left join并将where添加到
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
显示一些带有预期结果的示例数据PLS检查,我已经添加了所需的输出,该输出我非常感谢您。工作很好。