Sachant que cela va servir pour une seul requête, c'est chiant ? En plus
c'est la même table, elle est juste triée, n'y a-t-il pas une autre
solution.

Cyril FLIELLER



2011/8/24 Simon Leblanc <leblanc....@portailpro.net>

> Le 24/08/2011 15:37, Cyril Flieller a écrit :
>
>> J'ai un petit souci avec une requête SQL que je dois traduire den DQL.
>> J'ai lu sur un forum qu'il était impossible dans un FROM d'avoir une
>> requête imbriquée car Doctrine n'acceptait que les tables du Modèle, ce
>> qui me semble assez logique, mais j'imagine que l'on peut contourner
>> cela. Voilà ma requête :
>>
>> SELECT *
>> FROM operation o
>> LEFT JOIN (
>> SELECT *
>> FROM operation_history
>> ORDER BY ohdate DESC
>> ) AS oh ON i.id <http://a.id/> = oh.operation_id
>> LEFT JOIN user u ON u.id <http://p.id/> = o.user_id
>> LEFT JOIN member_group mg ON u.id <http://p.id/> = mg.user_id
>>
>> WHERE mg.group_id = 2
>> GROUP BY o.id <http://a.id/>
>>
>> HAVING oh.status_id = 1
>>
>>
> Bonjour,
>
>
> sans trop regarder si tu peux passer par une autre solution, la solution
> pour avoir le SELECT dans ton FROM pourrait être trouvée en passant par une
> vue normalement.
>
> Tu crées une vue SQL avec ta requete "SELECT * FROM operation_history ORDER
> BY ohdate DESC" et tu crées un modèle pour ta vue.
>
> Une fois que tu as ton modèle, tu peux l'utiliser dans ta requête d'origine
> :
> SELECT *
> FROM operation o
> LEFT JOIN ma_vue AS oh ON i.id = oh.operation_id
>
> LEFT JOIN user u ON u.id = o.user_id
> LEFT JOIN member_group mg ON u.id = mg.user_id
> WHERE mg.group_id = 2
> GROUP BY o.id
> HAVING oh.status_id = 1
>
>
>
> Cordialement,
> Simon Leblanc
>
> --
> Vous recevez ce message, car vous êtes abonné au groupe Google
> Groupes Symfony-fr.
> Pour envoyer un message à ce groupe, adressez un e-mail à
> symfony-fr@googlegroups.com.
> Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse
> symfony-fr+unsubscribe@**googlegroups.com<symfony-fr%2bunsubscr...@googlegroups.com>
> .
> Pour plus d'options, consultez la page de ce groupe :
> http://groups.google.com/**group/symfony-fr?hl=fr<http://groups.google.com/group/symfony-fr?hl=fr>
>
>

-- 
Vous recevez ce message, car vous êtes abonné au groupe Google 
Groupes Symfony-fr.
Pour envoyer un message à ce groupe, adressez un e-mail 
à symfony-fr@googlegroups.com.
Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse 
symfony-fr+unsubscr...@googlegroups.com.
Pour plus d'options, consultez la page de ce groupe : 
http://groups.google.com/group/symfony-fr?hl=fr

Répondre à