1

我正在尝试使用 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”。

我需要使用祖父模型列来读取具有相同模型的子表之一。

我开发了输入机器型号的 ac# 项目,并将从相应的子表返回容量。

4

1 回答 1

1

要加入这些表,您将需要父表中的 ResourceID_PK 和子表中的 MachineID_PK。然后,您可以加入这些表并从祖父表到达容量列。

编辑

  1. 将 ResourceID_PK 添加到机器(父表)
  2. 将 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'

(一个小警告,我没有测试过这个查询。)

于 2012-12-12T15:08:19.150 回答