一个例外是
WITH ()
查询,它可以作为变量,甚至是变量的
tuple
。它允许您返回临时值的表。
WITH master_user AS (
SELECT
login,
registration_date
FROM users
WHERE ...
SELECT *
FROM users
WHERE master_login = (SELECT login
FROM master_user)
AND (SELECT registration_date
FROM master_user) > ...;
票数 172
EN
Stack Overflow用户
发布于
2013-05-15 04:40:09
我通过使用
WITH
clause
实现了同样的目标,虽然它不是很优雅,但可以做同样的事情。不过,对于这个例子来说,这实在是言过其实了。我也不特别推荐这样做。
WITH myconstants (var1, var2) as (
values (5, 'foo')
SELECT *
FROM somewhere, myconstants
WHERE something = var1