我有几个表,为了这个例子,我将其简化到了极致。
表1,“单位”
ID UnitName PartNumber
1 UnitX 1
2 UnitX 1
3 UnitX 2
4 UnitX 3
5 UnitX 3
6 UnitY 1
7 UnitY 2
8 UnitY 3表2,“部件”
ID PartName Quantity
1 Screw 2
2 Wire 1
3 Ducttape 1我想在这些表上查询哪些单元是可以构建的,如果可以的话,哪个单元可以首先构建,以便有效地利用这些部件。
现在的问题是:这是否可以使用SQL完成,或者是否需要一个后台应用程序/更高效?
所以在这个例子中,它很简单,因为只有一个单元(Y单元)可以被建造。但我想你知道这个主意了。(我不是在找一个奶昔和烘焙的答案,只是你对这个问题的想法。)
谢谢
发布于 2013-10-14 11:36:27
正如您展示的那样,使用sql是有效的。正如您所描述的,表单元的PartNumber列是部件表ID列上的外键,因此简单的外部联接或选择PartNumber“不在”的单元--部件表--将为您提供无法生成的单元。
但是,如果您的db模式包含许多未规范化的表,或者是非常复杂的没有索引、其他“坏”的事情等等,那么可以检查特定的应用程序代码是否更快。但对于特定情况,我真的很怀疑,这个查询看起来很琐碎。
https://stackoverflow.com/questions/19359119
复制相似问题