我在构建特定查询以选择记录时遇到问题。这是我想要达到的目标的一个愚蠢的例子。
假设我有一个名为的表Criteria
,看起来像这样:
ID Unit Product Part
== ======== ======= ========
1 'sports' 'bike' 'handle'
2 'sports' ' ' ' '
3 'furn' 'couch' ' '
etc.
我有一个表Entries
,看起来像这样:
ID Tuple
== =========================
1 'sports / bike / seat'
2 'sports / racket / frame'
3 'furn / desk / leg'
4 'furn / lamp / shade'
etc.
记录 1Criteria
表明任何“运动/自行车/手柄”的元组都符合条件。中的记录 2 Criteria
,其中Product
和Part
包含空格,表明任何以“sports”开头的元组都符合条件(“sports / % / %”)。记录 3 表明任何以 'furn' 和 'couch' 开头的元组都符合条件(“furn / couch / %”)。我想选择不符合任何条件的所有记录。
在这种情况下,应该返回记录 3 和 4 Entries
,因为它们不匹配任何给定的条件。
我是 SQL 新手,所以我无法提出合适的查询。我的思考过程是这样的:
对于 的每条记录,基于、和Criteria
构建一个字符串比较字符串。例如,对于记录 1,字符串将是“运动/自行车/手柄”。 对于记录 2,字符串将是'sports / % / %',对于记录 3:'furn / couch / %'。现在,选择不等于任何这些字符串的所有记录。我在将其翻译成 SQL 术语时遇到了麻烦,这就是我需要您帮助的地方。Unit
Product
Part
Tuple