2009-12-28 7 views
2

Alors, je les tableaux suivants:Nested Sélectionnez dans LLBLGen

Tables

Utilisation LLBLGen 2.6 (version Adapter - Non Linq), SQL Server et .NET 3.5, comment pourrais-je écrire la requête suivante ?

SELECT o.ObjectID 
FROM Object o 
INNER JOIN ObjectDetail d ON i.ObjectID = d.ObjectID 
WHERE d.CreatedDate = (SELECT MAX(CreatedDate) 
         FROM ObjectDetail 
         WHERE ObjectID = o.ObjectID 
        ) 

Il y aura plus de filtrage, mais il est pas pertinent pour cela, comme si j'avais un ObjectDetailType et je voulais la ligne max ObjectDetail pour un certain type.

En outre, il ne doit pas sélectionner o.ObjectID, toutes les colonnes seront bien.

Répondre

5

a résolu le problème

PredicateExpression.AddWithAnd(
    new FieldCompareSetPredicate(
    ObjectDetailFields.CreatedDate, 
    null, 
    ObjectDetailFields.CreatedDate.SetAggregateFunction(AggregateFunction.Max), 
    null, 
    SetOperator.Equal, 
    (ObjectFields.ObjectID == ObjectDetailsFields.ObjectID) 
) 
);