缩短sql查询(使用ms访问)

时间:2015-03-13 12:20:14

标签: sql ms-access

我最近开始尝试更多SQL,我遇到了一个小问题。我想知道是否有更短的方式来描述这个查询或我需要阅读什么来更好地理解这一点。任何帮助都表示赞赏,因为我甚至不知道如何描述我的问题......

我有2个表,每个表有4个值。

TableOne           TableTwo
One1                Two1
One2                Two2
One3                Two3
One4                Two4

现在我需要的是,当我从TableOne中选择One1One3以及从TableTwo中选择Two2Two3时,查询结果是记录的位置他们都是平等的。

所以我会得到包含以下内容的记录:

One1 and Two2
One1 and Two3
One3 and Two2
One3 and Two3

到目前为止我的逻辑是:

Where (TableOne = One1 and TableTwo = Two2) 
   or (TableOne = One1 and TableTwo = Two3)
   or (TableOne = One3 and TableTwo = Two2)
   or (TableOne = One3 and TableTwo = Two3)

对我来说似乎太多 hardcoding 了。有没有办法说Where TableOne is 1 and Tabletwo is either 2 or 3然后添加这些记录等等?

希望这是可以理解的。

2 个答案:

答案 0 :(得分:1)

使用in

where TableOne in (One1, One3) and
      TableTwo in (Two2, Two3)

这遵循示例代码中的命名约定。

答案 1 :(得分:1)

你也可以使用:

Where (TableOne = One1 or TableOne = One3) and (TableTwo = Two2 or TableTwo = Two3)