在不使用外键

时间:2016-10-04 04:48:38

标签: mysql

我希望这个标题最符合我的意图。

这是我的设置

表客户

*---------------------------------------*
|c_id|f_name |l_name | carrier| referral|
|  1 | Jane  | Doe   | AT&T   | Google  |
|  2 | James | Kahn  | Sprint | Repeat  |
|  3 | Jim   | Flores| Verizon| Walk-in |
*---------------------------------------*

桌面承运人

*----------------*
|car_id|car_name |
|  1   | AT&T    |
|  2   | T-Mobile|
|  3   | Verizon |
|  4   | Sprint  |
*----------------*

表格结果

*---------------------------------------*
|c_id|f_name |l_name | carrier| referral|
|  1 | Jane  | Doe   |    1   | Google  |
|  2 | James | Kahn  |    4   | Repeat  |
|  3 | Jim   | Flores|    3   | Walk-in |
*---------------------------------------*

这是我的困境。当客户信息从前端'输入时它使用运营商名称而不是外键进入customers表。如何设置我的查询,以便使用运营商表中的运营商名称而不是客户的表运营商列进行显示。

这是我尝试过的,但是当我将其输入到我的查询中时,它不会填充。

$sql = "SELECT f_name, l_name car_name, referral FROM customers JOIN carriers ";
$sql .="ON customers ON customers.carrier = carriers.car_id ORDER BY c_id DESC";

我知道这听起来没用,因为我想要显示的数据已经显示出来了。但是,当稍后在我的项目过程中操作此表中的数据时,将使用外键并正确显示。挂起的是数据第一次到达结果表时。我正在寻找并使用REGEXP但不确定如何使用它。

1 个答案:

答案 0 :(得分:1)

请试试这个

select * from Customers c1 inner join Carriers c2 where c1.carrier = c2.car_name