我有一个函数,我正在使用我的SELECT语句,我试图限制我的where语句的结果,但似乎无法弄清楚如何命名它或告诉它引用该特定的功能。我想我可以通过将函数放在自己的WITH语句中来实现这一点,但是如果可能的话,我宁愿这样做。
选择 DAYS(CURDENT DATE) - DAYS(DATE(B.TSTAMP))AS“TRANSIT”
从这个函数我想把“WHERE TRANSIT> ='8'”当我现在这样做时,我得到错误“TRANSIT”在使用它的上下文中无效。有什么建议吗?
答案 0 :(得分:0)
您无法引用SELECT
中WHERE
条款中的内容,它会首先处理WHERE
(请参阅this article)。
您可以通过将查询推送到子查询,然后引用名称来“修复”您的问题:
SELECT *
FROM (
SELECT DAYS (CURRENT DATE) - DAYS (DATE(B.TSTAMP)) AS "TRANSIT"
FROM your_table
) A
WHERE TRANSIT >= 8