Php 从几个表中选择mysql
有三张桌子: 1) 名称:公司,字段:公司id,公司名称 2) 姓名:联系人,字段:联系人id,联系人姓名 3) 名称:连接,字段:连接id,联系人id,公司id 我正在进行多次搜索。例如,我想找到像“qwer”这样的公司和像“abc”这样的联系人。因此,我的问题是:Php 从几个表中选择mysql,php,mysql,Php,Mysql,有三张桌子: 1) 名称:公司,字段:公司id,公司名称 2) 姓名:联系人,字段:联系人id,联系人姓名 3) 名称:连接,字段:连接id,联系人id,公司id 我正在进行多次搜索。例如,我想找到像“qwer”这样的公司和像“abc”这样的联系人。因此,我的问题是: $query="SELECT * FROM COMPANIES WHERE company_name RLIKE (qwer)" 下一步我将用这些公司的id做一个大规模的调查。下一个查询将类似于: $query="SELE
$query="SELECT * FROM COMPANIES WHERE company_name RLIKE (qwer)"
下一步我将用这些公司的id做一个大规模的调查。下一个查询将类似于:
$query="SELECT * FROM connections WHERE company_id in (my massive)"
从该选择中提取大量联系人id,然后进行最后一次查询:
$query="SELECT * FROM contacts WHERE contact_name RLIKE(abc) and id in(my massive)"
那么,是否可以在一个查询中执行所有这些操作,或者使用比我使用的更少的操作
例如,我需要找到所有名为“oogle”的公司,其联系人为“ith”。因此,我需要一个公司“谷歌”与两个联系人:约翰·史密斯和詹妮·史密斯
@Iqbal帮助很大,但我还有一个名为addresses的表,它有两个字段:id和street。在表companys中还有一个字段名为addresses\u id。因此,我尝试通过这样的查询获取所有信息:
select con.connection_id, com.company_name, ctx.contact_name
from addresses as add, connections as con
left join companies as com on con.company_id = com.company_id
left join contacts as ctx on con.contact_id = ctx.contact_id
where add.id=com.Legal_address
但是它不起作用,有一个错误:“您的SQL语法有一个错误;请检查与您的MySQL服务器版本相对应的手册,以了解在第1行使用“添加,连接作为con LEFT JOIN companys as com on con.company_id=com.id LE”的正确语法”您可以使用LEFT JOIN 如果要打开的是连接id、公司名称和联系人名称
select con.connection_id, com.company_name, ctx.contact_name, add.street
from connections as con
left join companies as com on con.company_id = com.company_id
left join contacts as ctx on con.contact_id = ctx.contact_id
left join addresses as add on con.addresses_id = add.addresses_id
嗨,你可以用这样的东西
select connections.connection_id, contacts.contact_id companies.companyid
from connections
left join companies on connections.company_id = companies.company_id
left join contacts on contacts.contact_id = connections.contact_id
where company_name LIKE ('%qwer%')
and contact_name LIKE('%abc%')
请添加一些示例数据和expact resultOk,几分钟。@Jens我已经添加)为什么不使用join它对您有用吗?当然,我现在正在使用left join进行编码,完成后将推荐!)你能帮助我吗?我不太明白左撇子是怎么工作的。我还有一张叫做地址的表格。我需要选择addresses.street where addresses.id=com.company\u id。我尝试了很多方法,但它说我“在您的SQL语法中有一个错误”,我已经更改了我的应答器tnx!在最后一行,写con.address\u id=addr.id或addr.id=con.address\u id有关系吗?con是连接,其中在连接中声明为con。所以,con.address_id=addr.id或addr.id=con.address_id是连接表中的地址字段=addres表中的字段id的条件。对不起,如果我的英语不好