Ce problème peut avoir une solution facile, mais malheureusement, je ne peux pas le comprendre.Trouver max et compter dans une jointure
J'ai deux tableaux: le tableau A et le tableau B
Table A Table B
------------------- ------------------------------
Id NoOfItems Id itemNo deliveredDate
X1 3 X1 1 2017-07-01
X1 2 2017-07-02
X1 3 2017-07-03
donc ce que je besoin est d'ajouter le deliveredDate maximum de chaque Id au tableau A, mais seulement si le nombre d'articles livrés dans le tableau B est égal à NoOfItems dans le tableau A.
jusqu'à présent, j'ai écrit cette requête:
SELECT *
FROM A
OUTER APPLY
(
SELECT TOP 1 *
FROM B
WHERE A.Id =B.Id
ORDER BY
B.DeliveredDate DESC
) s
where A.NoOfItems= (select count(1) from B)
)