Simplification requête SQL
Bonjour,
Est-ce qu'il y a moyen de faire la requête ci-dessous plus simplifiée et plus propre ?
Merci.
Code:
1 2 3 4 5 6 7 8 9 10 11
| SELECT TOP (100) PERCENT dbo.E_ANLA.ANLN1, dbo.E_ANLA.TXT50, dbo.E_ANLA.GDLGRP, dbo.E_ANLA.ORD43, dbo.E_ANLA.ANLN2, dbo.E_ANLZ.STORT
FROM dbo.E_ANLA
INNER JOIN dbo.E_ANLZ ON dbo.E_ANLA.ANLN1 = dbo.E_ANLZ.ANLN1
INNER JOIN (SELECT ANLN1, MAX(ANLN2) AS Max2
FROM dbo.E_ANLA
GROUP BY ANLN1) ReqMax ON dbo.E_ANLA.ANLN1=ReqMax.ANLN1 and dbo.E_ANLA.ANLN2=ReqMax.Max2
WHERE (dbo.E_ANLZ.BDATU = '99991231') AND (dbo.E_ANLZ.GSBER = '0001')
ORDER BY dbo.E_ANLA.ANLN1 |
Comme vous pouvez le voire, le but est de prendre le MAX du champ ANLN2 de la table E_ANLA, faire une jointure avec ANLN1 qui se trouvent dans les 2 table spour récupérer le champ STORT de E_ANLZ, et filtrer avec le WHERE à la fin sur les 2 champs BDATU et GSBER de la table E_ANLZ