Php 多表SQL交叉引用搜索困难
我的数据库中有三个表;WORKER\u详细信息、STORE\u WORKER和STORE\u名称。每个表中的条目包括: 对于工人详细信息(4个字段=工人序列号、姓名、生日、性别): WSN名称生日性别 001约翰1/1/1964男 002 Dave 2/2/1980男 003简1975年3月3日女性 对于门店名称(3个字段=门店序列号、门店名称、城市) SSN名称城市 洛杉矶商店 002旧金山商店B 迈阿密商店 最后一个表STORE_WORKER将这两个字段放在一起(3个字段=WSN、SSN、Pay) 无线传感器网络支付 001美元50(约翰在StoreA工作,工资为50美元) 003 001美元40(简在StoreA工作,工资为40美元) 002 003$60(Dave在StoreC工作,工资为$60) 我目前正在制作一个搜索表单,允许用户输入工作人员的姓名。然后,搜索表单将获取输入名称,将其与相应的WSN匹配,获取WSN并将其与相应的SSN匹配,获取SSN,然后将其与相应的门店名称和城市匹配,然后输出该信息(门店名称表中的门店名称和城市)Php 多表SQL交叉引用搜索困难,php,mysql,sql,search,Php,Mysql,Sql,Search,我的数据库中有三个表;WORKER\u详细信息、STORE\u WORKER和STORE\u名称。每个表中的条目包括: 对于工人详细信息(4个字段=工人序列号、姓名、生日、性别): WSN名称生日性别 001约翰1/1/1964男 002 Dave 2/2/1980男 003简1975年3月3日女性 对于门店名称(3个字段=门店序列号、门店名称、城市) SSN名称城市 洛杉矶商店 002旧金山商店B 迈阿密商店 最后一个表STORE_WORKER将这两个字段放在一起(3个字段=WSN、SSN、P
但我不知道如何以SQL语句的形式实现这一点。据我所知,SQL语法涉及JOIN或UNION,但我不确定如何进行。您需要的查询是表的联接:
select w.wsn, ssn.name, ssn.city
from store_worker sw join
worker_detail w
on sw.wsn = w.wsn join
store_name s
on sw.ssn = s.ssn
where w.name = $WORKERNAME;
where
子句将工作者名称与输入工作者名称进行比较
select sn.Name, sn.City from WORKER_DETAIL wd
join STORE_WORKER sw on wd.WSN=sw.WSN join STORE_NAME sn on sw.SSN=sn.SSN
where wd.Name like '%Worker_name%'