将 zend 与 oracle 一起使用 ORA-00911: 无效字符

using zend with oracle ORA-00911: invalid character

        ORA-00911: invalid character SELECT "SCORES"."SUBSCRIBERID" AS
     "subscriberId", SUM(SCORES.SCORE) AS "SCORE", "SUBSCRIBERS"."SUBSCRIBERID",
     "SUBSCRIBERS"."FIRSTNAME", "SUBSCRIBERS"."LASTNAME",
 "SUBSCRIBERS"."MOBILE" FROM "SCORES" INNER JOIN "SUBSCRIBERS" ON
"SUBSCRIBERS"."SUBSCRIBERID"="SCORES"."SUBSCRIBERID" WHERE ("SCORES"."POLLINGID"=2) AND ("SUBSCRIBERS"."SUBSCRIBERID" 
not in (SELECT "POLLING_TRIALAUDIENCE_SUBSCRIB"."SUBSCRIBERID" FROM "POLLING_TRIALAUDIENCE_SUBSCRIB" WHERE 
        ("POLLING_TRIALAUDIENCE_SUBSCRIB"."POLLINGID"=2))) AND 
        ("SUBSCRIBERS"."SUBSCRIBERID" not in (SELECT 
        "GROUP_SUBSCRIBERS"."SUBSCRIBERID" FROM "POLLING_TRIALAUDIENCE_GROUPS" INNER
         JOIN "GROUP_SUBSCRIBERS" ON 
        "POLLING_TRIALAUDIENCE_GROUPS"."GROUPID"="GROUP_SUBSCRIBERS"."GROUPID" WHERE
         ("POLLINGID"=2))) GROUP BY "SUBSCRIBERS"."SUBSCRIBERID" HAVING (SCORE *in (
         select * from(SELECT distinct sum("SCORES"."SCORE") TopScore FROM 
        `"SCORES"` WHERE "SCORES"."POLLINGID"=2 group by "SCORES"."SUBSCRIBERID"
         order by TopScore desc limit 100) as t)) ORDER BY "SCORE" DESC

请帮帮我!!!!!

假设 HAVING (SCORE *in ( 中的星号不存在,因为那会生成 "ORA-00936: missing expression",您发布的第一个问题是 "SCORES" 周围的反引号。当然,您也可能在创建问题时引入了这些,但它们会生成 "ORA-00911: invalid character if they are present".

你还有其他问题; Oracle 不支持 limit,您不能将 AS 用作 table 别名(as t 在限制之后),您在 select 列出你的 group-by 子句中没有的东西,...一旦这些问题得到解决,可能还有其他事情。