Sql 子查询中的子查询-可能吗?

Sql 子查询中的子查询-可能吗?,sql,subquery,Sql,Subquery,下面是我用来比较z值的sql。我把z放在子查询中,然后比较它 我的qn在下面的else语句中,我想输入另一个公式来计算其他内容,其中的信息仅在另一个名为var1的表中可用。例如,n。我想在我的else声明中加入sumn/countn作为cv结尾。然后,如果cv>10,则说明案例太大,如果1“请增加您的输入”10,然后是“大”或“小”,如果您需要其他信息,请通知我信息?@rayhan:SQL的味道意味着SQL数据库MS SQL Server、MySQL、Oracle和DB2。此外,请编辑您的问题以

下面是我用来比较z值的sql。我把z放在子查询中,然后比较它

我的qn在下面的else语句中,我想输入另一个公式来计算其他内容,其中的信息仅在另一个名为var1的表中可用。例如,n。我想在我的else声明中加入sumn/countn作为cv结尾。然后,如果cv>10,则说明案例太大,如果<10,则说明案例太少

我应该在这个子查询中执行另一个子查询吗?请给我任何建议。谢谢

select 
z, 
CASE 
when z > 1 then 'Pls increase your inputs' 
when z < -1 then 'Pls decrease your inputs'
else 'No comment' END as Input

from 

(select
    case
    when S < 0 then (S/En-Eg))
    else (S/En+Eg)) 
    end as z
from var2);

你在正确的轨道上。对于像SUM和COUNT这样的聚合,我建议使用相关子查询;也就是说,子查询保证为每个键值var1.primary_key返回一个聚合值SUMn/COUNTn

例如,此查询使用相关子查询返回所需的值,使SUMn/COUNTn可用于外部查询:

SELECT      v.z,
            CASE WHEN v.z > 1
                 THEN 'Pls increase your inputs'
                 WHEN v.z < -1
                 THEN 'Pls decrease your inputs'
                 ELSE 'No comment' END AS INPUT,
            CASE WHEN v.cv > 10
                 THEN 'Pls decrease your inputs'
                 WHEN v.cv < 10
                 THEN 'Pls increase your inputs'
                 ELSE 'No comment' END AS INPUT                     
  FROM      (SELECT      CASE WHEN s < 0
                              THEN (s / en - eg)
                              ELSE (S/En+Eg) END AS 'z',
                         ISNULL(AVG_N.cv, 0) AS 'cv'
               FROM      var2
                         INNER JOIN 
                         (
                          SELECT      var1.primary_key AS 'PrimaryKey',
                                      SUM(var1.N) / COUNT(var1.N) AS 'cv'
                            FROM      var1
                           WHERE      var1.primary_key = var2.primary_key
                          GROUP BY    var1.N
                         ) AVG_N
                         ON AVG_N.PrimaryKey = var2.primary_key
            ) v

请指定您正在尝试使用的SQL的风格。以及一个示例表定义,以及您期望的示例输出?很抱歉回复太晚。您所说的SQL风格是什么意思?表格var2 S integer En float Eg float table deft for var1 n integer样本输出的表格定义为:-Z-条件注释----------------->1“请增加您的输入”10,然后是“大”或“小”,如果您需要其他信息,请通知我信息?@rayhan:SQL的味道意味着SQL数据库MS SQL Server、MySQL、Oracle和DB2。此外,请编辑您的问题以提供其他信息,而不是使用评论。它允许您正确设置格式,并使其他人更容易看到。