我正在尝试使用Sql Server Management Studio开发数据库。
Grandparent table
Resource
ResourceID_PK int
Project nvarchar(5)
Model nvarchr(15)
Parent table
Machine
MachineID_PK int
Model_UK nvarchar(15)
Type
Brand
EmptyWeight
Child tables
DumpTruck . Excavator Loader
DumpTruckID_PK ExcavatorID_PK Loader_ID int
Model_UK Model_UK Model_UK nvarchar(15)
Capacity Capacity Capacity
模型列对于整个数据库是唯一的。我需要从祖父母表到达容量列。每个子表的模型列都是唯一的,因为所有机器都有不同的模型,如“CAT966”。
我需要使用祖父模型列来读取其中一个具有相同模型的子表。
我开发了一个c#项目,它输入了机器的模型,并将从相应的子表中返回容量。
答案 0 :(得分:1)
要连接表,您需要父表中的ResourceID_PK和子表中的MachineID_PK。然后,您可以加入表格并从祖父母表格到达“容量”列。
要根据模型获取容量,请使用以下查询:
Select Capacity
From DumpTruck c
Join Machine p on c.DumpTruckID_PK=p.MachineID_pk
Join Resource gp on gp.ResourceID_PK=p.ResourceID_PK
where gp.Model='X'
(一个小警告,我还没有测试过这个查询。)