试图做这样的事情:有没有办法在单个语句的SQL查询中定义一个命名常量/参数?
WITH
dates as (SELECT '2015-01-01' as start, '2016-01-01' as end)
SELECT * FROM my_table WHERE start_date >= dates.start AND end_date <= dates.end
,但得到的错误消息“关系‘日期’不存在”(在Vertica的)。有没有适当的方法来定义一个常量/参数。在实际的例子中,查询在定义的时间范围内包含多个选择,因此我想将常量/参数值保存在一个位置,以便它们可以在嵌套子查询中重用。
如果可能,我想避免使用类似DECLARE/SET的语句,其中需要单独的一行。
这是为什么标记Vertica和MySQL?这些是非常不同的数据库。我删除了MySQL标签,因为你的问题表明'WITH'有效,并且它不被MySQL支持。 –
我不知道MySQL不支持'WITH',并且因为StackOverflow的建议我添加了MySQL。感谢您的更正,@GordonLinoff – BreakPhreak
您正在使用哪个客户端进行连接?这些vsql脚本? – woot