使用 Postgres 使用多个 WITH tablename AS (...) 语句
Use multiple WITH tablename AS (…) statements using Postgres
SQL 服务器确实有这样的问题,但我使用的是 Postgres 9.3,','
没有用
我正在对不同的 2 年进行比较。例如2016 年和 2015 年
我会检查用户在 2 年的课程中是否收到过相同科目的任何不良成绩。
我的代码如下
with currentyeargrade (
select ....
from (...
...)t)
with previousyeargrade(
select ....
from (...
...)y)
select *
from currentyeargrade cyg
inner join previousyeargrade pvg on pvg.userid = cyg.userid
我是一名 SQL 开发人员,我没有创建临时文件的管理员权限 table。
使用CTE时只需要在第一个CTE
写with
,用,
逗号连接多个CTE
.
with currentyeargrade as (
select ....
from (...
...)t),
previousyeargrade as(
select ....
from (...
...)y)
select *
from currentyeargrade cyg
inner join previousyeargrade pvg on pvg.userid = cyg.userid
这是给你的示例
CREATE TABLE T(col int);
insert into T values (1);
查询 1:
with currentyeargrade as (SELECT * FROM T),
previousyeargrade as (SELECT * FROM T)
select *
from previousyeargrade cyg
CROSS JOIN currentyeargrade pvg
| col | col |
|-----|-----|
| 1 | 1 |
SQL 服务器确实有这样的问题,但我使用的是 Postgres 9.3,','
没有用
我正在对不同的 2 年进行比较。例如2016 年和 2015 年
我会检查用户在 2 年的课程中是否收到过相同科目的任何不良成绩。
我的代码如下
with currentyeargrade (
select ....
from (...
...)t)
with previousyeargrade(
select ....
from (...
...)y)
select *
from currentyeargrade cyg
inner join previousyeargrade pvg on pvg.userid = cyg.userid
我是一名 SQL 开发人员,我没有创建临时文件的管理员权限 table。
使用CTE时只需要在第一个CTE
写with
,用,
逗号连接多个CTE
.
with currentyeargrade as (
select ....
from (...
...)t),
previousyeargrade as(
select ....
from (...
...)y)
select *
from currentyeargrade cyg
inner join previousyeargrade pvg on pvg.userid = cyg.userid
这是给你的示例
CREATE TABLE T(col int);
insert into T values (1);
查询 1:
with currentyeargrade as (SELECT * FROM T),
previousyeargrade as (SELECT * FROM T)
select *
from previousyeargrade cyg
CROSS JOIN currentyeargrade pvg
| col | col |
|-----|-----|
| 1 | 1 |