0

我有几个表,为了这个例子的目的,我已经将它们简化到了极致。

表 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)。但我想你明白了。(我不是在寻找一个摇晃和烘烤的答案,只是你对此的想法。)

谢谢

4

1 回答 1

1

正如您介绍的那样,使用 sql 是有效的。正如您所描述的,表 Units 的 PartNumber 列是 Parts 表 ID 列的外键,因此简单的外部连接或选择 PartNumber 为“NOT IN”的单元将为您提供无法构建的单元。

但是,如果您的数据库模式由许多非规范化表组成,或者没有索引非常复杂,其他“坏”的事情等,则可以检查特定的应用程序代码是否更快。但我真的怀疑它的特殊情况,查询似乎微不足道。

于 2013-10-14T11:36:27.697 回答