Select all values in same group using value in group
I believe this is what you are after if I have understood your requirements:

DECLARE @Number NVARCHAR(30);
SET @Number = '3H603020';

SELECT
    ms.SubstitutionGroupID,
    subs.Number,
    subs.DescriptionEN
FROM
    MaterialSubstitution AS ms
    INNER JOIN Material  AS m ON m.MaterialID = ms.MaterialID
    INNER JOIN Material  AS subs ON subs.MaterialID = ms.MaterialID
WHERE
    m.Number = @Number
ORDER BY
    ms.SubstitutionGroupID, subs.Number


You need to join back to Material again to find the "substitutions" (hence the alias subs) for a given Material.Number