在WHERE条件下两列一列

时间:2017-01-21 16:10:56

标签: sql oracle11g

我有一个重要的问题。我需要在override func layoutSubviews() { super.layoutSubviews() lineHeightConstraint?.constant = hasBottomLine ? 3 : 0 } 条件下使用两次列。

示例在这里:

WHERE

如何将同一列限制两次?我需要一个简单的解决方案别名更好。谢谢

1 个答案:

答案 0 :(得分:1)

处理SELECT语句时,WHERE子句在SELECT子句之前处理。这意味着,当处理WHERE子句时,别名(在SELECT中定义)尚不存在。查询方式的查询将失败,并显示语法错误消息,例如“未知标识符”。

由于您实际过滤的是col1中的值,为什么要关心它是使用列名col1还是别名?不知怎的,我得到的印象是你的问题不同,而且你过度简化它已经不再有意义了。

在任何情况下:根据您所显示的内容(这可能不是您的真正的问题),您可以将WHERE条件写为

where col1 = 3000 or col1 = 5000

(假设col1属于number数据类型 - 没有理由与'3000''5000')等字符串进行比较,或者

where col1 in (3000, 5000)
相关问题