我的数据库中有三个表; WORKER_DETAIL,STORE_WORKER和STORE_NAME。每个表的条目包括:
对于WORKER_DETAIL(4个字段=工人序列号,姓名,生日,性别):
WSN名称生日性别
001 John 1/1/1964男
002 Dave 2/2/1980男
003 Jane 3/3/1975女性
对于STORE_NAME(3个字段=商店序列号,商店名称,城市)
SSN名称城市
001 StoreA Los Angeles
002 StoreB San Francisco
<00> 003 StoreC Miami
和最后一个表STORE_WORKER将两者结合在一起(3个字段= WSN,SSN,Pay)
WSN SSN支付
001 001 $ 50(约翰,在StoreA工作,获得50美元的报酬)
<00> 003 001 $ 40(Jane,在StoreA工作,获得40美元的报酬) <00> 002 003 $ 60(Dave,在StoreC工作,获得60美元的报酬)
我目前正在制作一个搜索表单,允许用户输入Worker的名称。然后搜索表单将获取输入名称,将其与相应的WSN匹配,获取WSN并将其与相应的SSN匹配,获取SSN,然后将其与相应的Store Name和City匹配,然后输出该信息(The Store) STORE_NAME表中的名称和城市。)
但我不确定如何以SQL语句的形式执行此操作。根据我的理解,SQL语法涉及JOIN或UNION,但我不确定如何去做。
答案 0 :(得分:0)
您想要的查询是表的连接:
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
子句将工作者名称与输入工作者名称进行比较。
答案 1 :(得分:0)
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%'