我最近开始尝试更多SQL,我遇到了一个小问题。我想知道是否有更短的方式来描述这个查询或我需要阅读什么来更好地理解这一点。任何帮助都表示赞赏,因为我甚至不知道如何描述我的问题......
我有2个表,每个表有4个值。
TableOne TableTwo
One1 Two1
One2 Two2
One3 Two3
One4 Two4
现在我需要的是,当我从TableOne中选择One1
和One3
以及从TableTwo中选择Two2
和Two3
时,查询结果是记录的位置他们都是平等的。
所以我会得到包含以下内容的记录:
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
然后添加这些记录等等?
希望这是可以理解的。
答案 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)