如何使用此SQL设计获取所有成员名称和地址?

时间:2017-11-26 22:54:07

标签: sql

我有以下设计:

enter image description here

我知道设计并不理想,但我坚持使用它。

我试图在一个查询中获取所有成员的姓名和地址(即使Juvenile的地址与成人相关,因为它们与成人相关联)?

1 个答案:

答案 0 :(得分:3)

据我了解,每个成员可以是成年人或少年。如果他是成年人,那么他有一个地址。如果他是少年,他的地址是成年人的地址,这个少年与之相关,在这种情况下你可以试试这个:

Select mbrs.FirstName, mbrs.LastName, adls.Street, adls.City, adls.State, adls.ZIP  
    From Members mbrs Inner Join Adults adls  
    On mbrs.MemberNo = adls.MemberNo  
Union All  
Select mbrs.FirstName, mbrs.LastName, adls.Street, adls.City, adls.State, adls.ZIP  
    From Juvelines jvls Inner Join Members mbrs  
    On jvls.MemberNo = mbrs.MemberNo
    Inner Join Adults adls 
    On jvls.AdultMemberNo = adls.MemberNo  

希望这有帮助!