繁体   English   中英

谁能告诉我我的查询有什么问题?

[英]Can anyone tell me what is wrong with my query?

SELECT 
    T1.Description, T1.TYPE, T1.SALESPOTENTIAL , T2.STARTDATE,  
    T3.PROJECT_REGION, T3.JOB_TYPE
FROM 
    sysdba.OPPORTUNITY T1,
    SELECT T1.TYPE, count(*)
    FROM OPPORTUNITY
    GROUP BY by TYPE,
JOIN 
    sysdba.ACTIVITY T2 ON T1.ACCOUNTID = T2.ACCOUNTID
JOIN 
    sysdba.C_OPPORTUNITY_EXT T3 ON T1.OPPORTUNITYID = T3.OPPORTUNITYID
WHERE 
    CLOSEPROBABILITY > 70

“GROUP BY by TYPE”这一行语法错误。

仅使用一个 BY。 TYPE 是保留字。 如果这是指一个字段,则使用 `TYPE`(用 ` 字符包围字段名称)。 最后的逗号不应该在那里。

GROUP BY `TYPE`

如果使用 Mysql,将子查询放在 parentesis 中也是一个好习惯。 这将成为“派生表”并需要一个名称。 我在这个例子中使用了“someTempTable”:

(SELECT T1.TYPE, count(*)
    FROM OPPORTUNITY
    GROUP BY `TYPE`) as someTempTable

您不能在 from 部分中添加裸选择语句。 但是,在某些(所有?)数据库上,您可以这样做:

select
   col1,
   col2
from
   table_1                                    join
  (select ... from inner_table) table_2 on table_1.x = table_2.y;

请注意 select 语句周围的括号。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM