[英]Left joining two tables, multiple columns
I need to left join two tables: Cardealers
and Applications
. 我需要加入两个表: Cardealers
和Applications
。
I want to see which cardealers have received which applications. 我想看看哪些cardealers收到了哪些申请。
Each application is forwarded to three cardealers thus my table structure is having these 3 columns: receiver_1
, receiver_2
, receiver_3
. 每个应用程序被转发到三个cardealers因而我的表结构具有这些3列: receiver_1
, receiver_2
, receiver_3
。
Where the ID in the receiver columns is the same as the cardealer_id
. 接收方列中的ID与cardealer_id
相同。
I have this code functioning for ONE and one column only: 我的这段代码仅适用于一列:
$res1 = $wpdb->get_results( " SELECT leads.*, cardealers.*
FROM leads
LEFT JOIN cardealers ON leads.receiver_1 = cardealers.cardealer_id
WHERE leads.receiver_1 = cardealers.cardealer_id
AND cardealers.cardealer_id = '". $cardealer_id ."'" );
$res2 = $wpdb->get_results( " SELECT leads.*, cardealers.*
FROM leads
LEFT JOIN cardealers ON leads.receiver_2 = cardealers.cardealer_id
WHERE leads.receiver_2 = cardealers.cardealer_id
AND cardealers.cardealer_id = '". $cardealer_id ."'" );
$res3 = $wpdb->get_results( " SELECT leads.*, cardealers.*
FROM leads
LEFT JOIN cardealers ON leads.receiver_3 = cardealers.cardealer_id
WHERE leads.receiver_3 = cardealers.cardealer_id
AND cardealers.cardealer_id = '". $cardealer_id ."'" );
As you can see I do 3 separate statements which all works. 如您所见,我执行了3个独立的语句,所有语句均有效。 But I want to combine these into one statement. 但我想将这些合并为一个陈述。
How do I do this? 我该怎么做呢?
Just keep adding the tables and alias them. 只需继续添加表并为其别名。
SELECT
leads.*, cardealers1.*, cardealers2.*, cardealers3*
FROM leads
LEFT JOIN cardealers as cardealers1
ON leads.receiver_1 = cardealers1.cardealer_id
LEFT JOIN cardealers as cardealers2
ON leads.receiver_2 = cardealers2.cardealer_id
LEFT JOIN cardealers as cardealers3
ON leads.receiver_3 = cardealers3.cardealer_id
WHERE
leads.receiver_1 = cardealers1.cardealer_id
AND leads.receiver_2 = cardealers2.cardealer_id
AND leads.receiver_3 = cardealers3.cardealer_id
AND cardealers.cardealer_id = '". $cardealer_id ."'
EDIT: it's best if you give an alias for the columns from each of the cardealers 编辑:最好为每个cardealers的列提供别名
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.