【发布时间】:2016-02-28 09:58:50
【问题描述】:
我需要左连接两个表:Cardealers 和 Applications。
我想看看哪些发牌商收到了哪些申请。
每个应用程序都转发给三个cardealers,因此我的表结构包含这 3 列:receiver_1、receiver_2、receiver_3。
接收者列中的 ID 与 cardealer_id 相同。
我有此代码仅适用于 ONE 和一列:
$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 ."'" );
如您所见,我做了 3 个单独的语句,它们都有效。但我想将这些组合成一个声明。
我该怎么做?
【问题讨论】:
-
见规范化。每当您枚举列(例如,“2”以上)时,您的设计都可能出现问题。