我需要构建一个SQL删除,它使用包含6个表的复杂数据结构:
- 用户(UserID等)
- 目录(CatalogID等)
- 图书馆(图书馆ID等)
- User_Catalogs(UserID,CatalogID)
- User_Libraries(UserID,LibraryID)
- Catalog_Libraries(CatalogID,LibraryID)
为了理解这一点,业务逻辑如下:
- 为用户分配目录(User_Catalogs);这会将该目录中的所有库(Catalog_Libraries)分配给用户(User_Libraries)
- 然后,用户可以从他们的视图中删除他们不想要的库(只需单独的链接表,User_Libraries)
我需要解决的问题是删除目录时,我需要从用户中删除该目录中包含的任何库,但如果这些库也存在于用户也可以访问的其他目录中,则不需要到。
我已经坚持了一段时间了,所以任何帮助都会非常赞赏。