Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 多表SQL交叉引用搜索困难_Php_Mysql_Sql_Search - Fatal编程技术网

Php 多表SQL交叉引用搜索困难

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

我的数据库中有三个表;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,然后将其与相应的门店名称和城市匹配,然后输出该信息(门店名称表中的门店名称和城市)


但我不知道如何以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%'