从一个表中选择id,从另一个表中选择其值以进行搜索。

6
我有两个名为companycustomers的表。
company表中,有3个字段IDCompanyType,如下:
ID    Company    Type
1     ABC        Running

2     XYZ        Current

现在在 customers 表中,我提交了公司和客户的值,但这里公司的值被提交为一个ID,如下所示:
Company     Customer Name
1              monty

2             sandeep

现在我想在客户表中搜索公司名称,但当我在搜索框中放入公司名称时,它什么也没有显示,因为在客户表中公司名称的值是以ID形式存在的。我该怎么做才能实现呢?
这是我的查询语句:
$sql = "Select * from customers where name like '%$term%' or location like '%$term%' or company like '%$term%'";

Monty,你应该看一下SQL中的JOINS。它们非常重要,而且你肯定会经常使用它们。你可以从这个链接开始学习http://www.w3schools.com/sql/sql_join.asp - medina
@medina:当然,谢谢你宝贵的建议。 - Montiyago
2个回答

15

通过JOIN这两张表:

Select * 
from customers AS cust
INNER JOIN companies AS comp ON cust.Company = comp.Id
where comp.location like '%$term%' 
   or comp.company like '%$term%'

4
try this

SELECT co.*, cu.* FROM company as co, customers as cu where co.company_id = cu.company_id and co.company_name = '%$term%';

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接