Bonjour,
Est-ce qu'il y a moyen de faire la requête ci-dessous plus simplifiée et plus propre ?
Merci.
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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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





Répondre avec citation


N'oubliez pas le bouton
et pensez aux balises [code]



Partager