Bonjour,
Est-il possible de faire quelque chose comme ceci avec une requête HQL:
select * from (select * from matable)
Bien sûr ma requête est un peu plus intelligente que ça mais c'est juste pour l'exemple
Bonjour,
Est-il possible de faire quelque chose comme ceci avec une requête HQL:
select * from (select * from matable)
Bien sûr ma requête est un peu plus intelligente que ça mais c'est juste pour l'exemple
Désolé de te contredire mais c'est tout à fait autorisé en SQL.
Je crois qu'il est recommandé de nommer la table destination par contre:
Ca donnerait donc plutôt ça en SQL:
select * from (select * from table_src) table_dest
erf oui, mais ca ne fait pas ce qu'il pense manifestement que ça fait (prendre les noms présent dans table_src, comme T1,T2,T3, et faire un select * from T1,T2,T3
select * from (select * from table_src); c'est exactement la même chose que faire select * from table_src
Si le but est de choisir les noms de table, ça peut se faire mais pas directement; en fait ça se fait en PL/SQL (et en hibernate, ça se ferait en faisant une première requête, et en générant à partir d'icelle une deuxième).
Si la question était "peut-on faire un sous-select standard", la réponse est oui.
Oui c'est bien la question.Si la question était "peut-on faire un sous-select standard", la réponse est oui.
Maintenant j'en ai une 2ème: Comment?
Comme en SQL, mais en HQL ... Je ne vois pas comment décrire mieux.
http://docs.jboss.org/hibernate/core...hql-subqueries
Je ne dois vraiment pas être doué en HQL parce que n'arrive pas à écrire la requête.
J'ai essayé ceci:
Sans succès :'(
Code : Sélectionner tout - Visualiser dans une fenêtre à part select t2.id from (select t1.id from matable as t1) as t2
je précise que id est une colonne appartenant à matable.
Rei Ichido, dans les exemples de ton lien, tous les sous-select ont lieu après le where. Moi, je veux faire le sous-select juste après le from (pour le gérer en tant que sous-table en gros).
On ne peut pas faire de sous-requête en Hql apres le from...
Uniquement apres select et where....
issu du document joint dans le post plus haut....
"Note that HQL subqueries can occur only in the select or where clauses. "
OK, comme ça je suis fixé au moins.
A la Poubelle Hibernate.
notez que c'est assez logique dans le sens ou HQL fait ses requetes sur sur des Objets, or le résultat de votre sous requete n'est pas nécessairement un objet Hibernate
Vous pouvez toujours aussi faire des sous requetes en SQL à partir d'hibernate (via les natvie query). Vous n'aurez plus le résultat sous forme d'objet, mais de toutes facons, ca ne correspondait déjà plus à des objets
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager