Project Table Pk(project Number)
Marriage Table : PK (EmployeeNumber)
Fk_ Marriage - employee (spouseNumber)
Employee Table (EmployeeNumber)
Workon Table : PK(EmployeeNumber,ProjectNumber,CityCode)
FK_ Workon - employee (EmployeeNumber)
FK_ Workon - project (projectNumber)
1 Table : Project pk(project Number)
2 Table : Marriage PK (EmployeeNumber)
Fk_ Marriage - employee (spouseNumber)
3 Table : Employee(EmployeeNumber)
4 Table : Workon PK(EmployeeNumber,ProjectNumber,CityCode)
FK_ Workon - employee (EmployeeNumber)
FK_ Workon - project (projectNumber)
List the names of all married employees and their spouses who are assigned to the “East London Crossing” project
这是可能的加入或我们需要做更多的加入到爱的问题
3条答案
按热度按时间rks48beu1#
您需要使用表workon和employee两次连接这两个id
oyxsuwqo2#
我修改了你的代码有多好
wlwcrazw3#
使用联接可以解决这个问题—事实上,由于要检索的组件位于不同的表中,因此通常需要联接。
您需要将project表与employee表和workon表连接起来。婚姻表本质上是不相关的,因为它的信息已经存在于employee表中。在sql中,这是一个笛卡尔积(from),其中强制/选择了某些约束(where)。
例如(假设丈夫和妻子都在elc上工作):
(注意:我还没有实际测试过这段代码,所以它可能有语法错误)
或者,您可以选择使用自然联接,在这种情况下,可以将project和workon等表联接在一起(例如。
Project NATURAL JOIN Workon
).