分享
三行代码  ›  专栏  ›  技术社区  ›  Tonyb

MSSQL中的嵌套表

  •  0
  • Tonyb  · 技术社区  · 1 周前

    我可以制作一个中间表,名为beer slots,其中包含slot_id(PK)和beer name(FK)。但是我没有一种方法来引用冷却器表中的冷却器插槽和啤酒插槽表中每个插槽的ID。我可以为一个24槽的冷却器添加24列,但是每个冷却器有n个插槽,因此我需要使用此方法来改变列数。我还想在coolers表中用逗号分隔字段创建一个名为Slot_ID的列,但这是愚蠢的。

    1 回复  |  直到 1 周前
        1
  •  1
  •   Mike67    1 周前

    你说得对,需要3张桌子:

    Cooler:
       CoolerID
       CoolerName
       TotalSlots   -- max capacity, some slots may be empty
    
    CoolerBeer:    -- this connects the other tables
       CoolerID
       CoolerSlot   -- this is the slot number in the cooler
       BeerID
    
    Beer:
       BeerID
       BeerName