sql - 在sql中合并多个 "With"子句

标签 sql oracle

我正在使用oracle数据库10g并尝试计算数据集的控制上限和控制下限。虽然它对于电话号码值似乎毫无用处,但我只是想将其用作学习经验。输出应该具有逐行形式的条目:- 称呼、zip、lcl 和 ucl 值 这将有助于更好地理解数据。

with q as(

 select student_id,salutation,zip,first_name,last_name from tempTable)

 with r as(

 select avg(phone) as average,stddev(phone) as sd from tempTable)

 select salutation,zip,average-3*sd as"lcl",average+3*sd as"UCL"

from
q ,r

给出的错误是缺少select语句。请告诉我出了什么问题,我是一个sql新手,自己做不到

最佳答案

使用堆叠 CTE 时,预计第一个 CTE 不需要 With 关键字,而是使用 逗号CTE 名称之前。尝试这个语法。

WITH q 
     AS (SELECT student_id, 
                salutation, 
                zip, 
                first_name, 
                last_name 
         FROM   temptable), 
     r 
     AS (SELECT Avg(phone)    AS average, 
                STDDEV(phone) AS sd 
         FROM   temptable) 
SELECT salutation, 
        zip, 
        average - 3 * sd AS"lcl", 
        average + 3 * sd AS"UCL" 
FROM   q Cross Join r; 

关于sql - 在sql中合并多个 "With"子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28009010/

相关文章:

mysql - Zeoslib : How to tell if query is still processing?

java - 用于在 Websphere 中创建 Oracle 数据源的 Jython 脚本

java - 使用 JUnit 在 Eclipse 中运行测试用例

sql - 正则表达式中的 '^\d+\D+$' 是什么意思

sql-server - 带有 Oracle SQL Developer 4.1 的 SQL Server - 无法查看表

sql - .openrecordsource "run-time error ' 9 1'"

sql - 添加自动增量额外列以查看 SQL Server 表中不存在的列

部分列的 SQL 搜索

MySQL 查询时刻表信息

database - Oracle:为什么在基础 View 中的数据更改后我的 MW 无效为 NEEDS_COMPILE 状态