在Oracle上的Php Pdo中请求SQL(带AS)

在Oracle上的Php Pdo中请求SQL(带AS),php,sql,oracle,pdo,Php,Sql,Oracle,Pdo,我尝试执行一个SQL Select请求。 我的请求在SQL Developer中工作,但当我在代码中复制请求时,她返回0结果,而在SQL Developer中返回许多结果。 我在BDD Oracle上的连接正常 $sql = $connexion->prepare("With Calcul_Max_Num as ( Select ho_ddeb , ho_man

我尝试执行一个SQL Select请求。 我的请求在SQL Developer中工作,但当我在代码中复制请求时,她返回0结果,而在SQL Developer中返回许多结果。 我在BDD Oracle上的连接正常

       $sql = $connexion->prepare("With Calcul_Max_Num  as
       (                 
            Select ho_ddeb
                     , ho_manumdos
                     , ho_num
                     , si_nom
                     , si_prenom
                     , si_sexe
                     , si_nais
                     , si_ma_lib1
                     , si_ma_vil
                     , si_ma_codepost
                     , si_ma_tel
                     , sm_incode
                     , in_nom
                     , in_prenom
                     , sm_ddeb
                     , sm_hdeb
                     , sm_unitr
                     , max(ho_ddeb) Over (Partition BY  ho_manumdos ) as Max_Date

         from SERVEUR_MOUVEMENT
               INNER JOIN serveur_identite
               ON sm_numdos = si_numdos
               INNER JOIN HOSPITALISATION
               ON ho_num = sm_numhos
               INNER JOIN INTERVENANT
               ON SM_INCODE = IN_CODE

         Where (SERVEUR_MOUVEMENT.SM_TYPMVT = 'ADM'
         Or SERVEUR_MOUVEMENT.SM_TYPMVT = 'AHJ'
         Or SERVEUR_MOUVEMENT.SM_TYPMVT = 'VPR')
       )
              select  
                      ho_manumdos
                     , ho_num
                     , si_nom
                     , si_prenom
                     , si_sexe
                     , extract(YEAR from si_nais)
                     , to_char(si_nais, 'MM')
                     , to_char(si_nais, 'DD')
                     , si_ma_lib1
                     , si_ma_vil
                     , si_ma_codepost
                     , si_ma_tel
                     , sm_incode
                     , in_nom
                     , in_prenom
                     , to_char(sm_ddeb, 'YY')
                     , to_char(sm_ddeb, 'MM')
                     , to_char(sm_ddeb, 'DD')
                     , to_char(sm_hdeb, 'HH')
                     , to_char(sm_hdeb, 'MI')

         From Calcul_Max_Num 
         Where Max_date Between '01/01/2015' AND '31/12/2015'
         and ho_ddeb = Max_Date
         order by ho_manumdos");




        $sql->execute();
        while ($row = $sql->fetch(PDO::FETCH_ASSOC)) {
                  echo 'good';
        }

我认为问题的出现是因为请求的开始,是否可以使用as(选择…)启动请求sql?

不需要分组?我认为不需要,因为他从事SQL开发人员的工作。这很重要吗?当然可以,但如果你知道我采取的另一种方式,你是否更改了这行
Max_date在'01/01/2015'和'31/12/2015'之间的日期
在SQL Dev中进行测试和将代码移动到PHP Pdo?这里使用的是字符串值,而不是范围中使用的日期值。因此,Max_Date值可能会使用与SQL Dev使用的格式不同的格式转换为字符串值。尝试在每个“日期”上使用
TO_DATE()
函数:
其中最大日期介于TO_DATE('01/01/2015','dd/mm/yyyy')和TO_DATE('31/12/2015','dd/mm/yyyyy')之间
No GROUP BY needed?我认为不需要,因为他在SQL developer上工作,这很重要吗?当然可以,但如果你知道我采取的另一种方式,你是否更改了这行
Max_日期在'01/01/2015'和'31/12/2015'之间的位置
在SQL Dev中测试和将代码移动到PHP Pdo之间?这里使用的是字符串值,而不是范围中使用的日期值。因此,Max_Date值可能会使用与SQL Dev使用的格式不同的格式转换为字符串值。在您的每个“日期”上尝试使用
TO_DATE()
函数:
其中最大日期介于TO_DATE('01/01/2015','dd/mm/yyyy')和TO_DATE('31/12/2015','dd/mm/yyyyy')