J'ai une table sql A avec les noms de colonnesSous-Select Dans les critères de mise en veille prolongée
name, id1, id2, val1
et une table B avec les noms de colonnes
id1, id2, key1, key2
ce qui est ma requête SQL
SELECT
v1.id1,
v1.id2
FROM (
SELECT
A.id1,
A.id2,
min(val1) AS x
FROM A
JOIN B ON A.id1 = B.id1 AND A.id2 = B.id2
GROUP BY A.id1, A.id2
) AS v1
WHERE v1.x > 10
en utilisant le DetachedCriteria j'ai pu former la sous-requête
DetachedCriteria subCriteria = DetachedCriteria.forClass(A_model.class);
subCriteria.createAlias("b", "b_model");
subCriteria.setProjection(Projections.projectionList()
.add(Projections.groupProperty("id1"))
.add(Projections.groupProperty("id2"))
.add(Projections.min("val1"),"x");
mais j'ai du mal à créer la requête externe.
toute suggestion comment puis-je créer les critères pour le SQL ci-dessus?
Merci d'avance.
Les requêtes de critères fonctionnent sur des entités et non sur des tables. Nous n'avons aucune idée de ce à quoi ressemblent les entités. –
@JBNizet J'ai fourni les colonnes pour les tables et sql que je veux. avez-vous besoin de plus d'informations en dehors de cela. pouvez-vous suggérer une solution générique pour la sous-sélection par critères (n'hésitez pas à supposer une structure d'entité correspondante) – sumit