Je tente de joindre 2 tables, mais seulement sélectionner les valeurs de la table B où id est le plus grand et 2 colonnes correspondent entre le tableau A & B.Rejoindre 2 tables où valeur la plus élevée de sélection sur une autre table
J'ai essayé mais il sélectionne seulement 1 ligne en raison de la valeur la plus élevée de la table 2 mais j'ai besoin de la table entière A pour être affichée.
WITH CTE AS
(
SELECT DocNum, Status
FROM TableB
WHERE Id = (SELECT MAX(Id) FROM TableB)
)
SELECT TableA.DocNum, DocTitle, cte.Status
FROM TableA
INNER JOIN cte
ON TableA.DocNum = cte.DocNum
exemple ci-dessous:
Table A
Id DocNum DocTitle
1 ST-0001 SomeTitle
2 ST-0002 SomeTitle
3 ST-0003 SomeTitle
4 ST-0004 SomeTitle
5 ST-0005 SomeTitle
Table B
Id DocNum Status
1 ST-0001 Incomplete
2 ST-0001 Complete
3 ST-0002 Complete
4 ST-0003 Incomplete
5 ST-0004 Incomplete
6 ST-0004 Complete
7 ST-0005 Incomplete
Result
DocNum DocTitle Status
ST-0001 SomeTitle Complete
ST-0002 SomeTitle Complete
ST-0003 SomeTitle Incomplete
ST-0004 SomeTitle Complete
ST-0005 SomeTitle Incomplete
Avez-vous essayé quoi que ce soit à ce jour pour résoudre le problème? –
Quelle version de SQL utilisez-vous (par exemple MySQL, SQL Server, etc.)? Avez-vous déjà essayé quelque chose? –
'Join',' Grouper' est la solution –