sql - vertica sql中的with子句
问题描述
使用 with 子句查询不同的表/模式
WITH T1 as ( SELECT something as s1 from schema1.table1 ),
WITH T2 as ( SELECT something as s2 from schema2.table1 )
SELECT * FROM T1,T2;
它给出的错误为:错误:“WITH”处或附近的语法错误
你能指出我在这里缺少什么吗
解决方案
with
关键字应该只出现一次,在查询的开头:
WITH
T1 as ( SELECT something as s1 from schema1.table1 ),
T2 as ( SELECT something as s2 from schema2.table1 )
SELECT T1.something something1, T2.something something2
FROM T1
CROSS JOIN T2;
请注意,我将您的隐式连接重写为显式cross join
. 您还应该为结果集中的列名设置别名,因为两个查询都会生成一个具有相同名称的列。
推荐阅读
- mapbox - Mapbox GL JS 相机中心直接移动到用户的位置
- matlab - 在 MATLAB 中打开 .mtx 文件
- python - 安装 Python 是否还会安装 scipy 和 numpy 等库?
- ios - 在 viewWillAppear 中第一次未启动应用时从 URL 获取参数
- javascript - 在 Node 中相互调用两个 Promise
- postgresql - SQL 选择三级树中符合条件的所有节点
- c# - 无法从 'System.Collections.Generic.List 转换
' 到 'System.Xml.Linq.XName' - matplotlib - 使用 Matplotlib 的麦克斯韦颜色三角形
- python - python manager dict会自动锁定它的值吗?
- sql - 无法启动 SQL Server 服务