SELECT t1.*,

(SELECT t2.rusname FROM biotopelist AS t2
WHERE Left(t2.rangcode, 1) = Left(t1.rangcode, 1)
AND Right(t2.rangcode, 8)  = '00000000'
AND Right(t1.rangcode, 8) <> '00000000') AS class0,

(SELECT t2.rusname FROM biotopelist AS t2
WHERE Left(t2.rangcode, 3) = Left(t1.rangcode, 3)
AND Right(t2.rangcode, 6)  = '000000'
AND Right(t1.rangcode, 6) <> '000000') AS class1,

(SELECT t2.rusname FROM biotopelist AS t2
WHERE Left(t2.rangcode, 5) = Left(t1.rangcode, 5)
AND Right(t2.rangcode, 4)  = '0000'
AND Right(t1.rangcode, 4) <> '0000') AS class2,

(SELECT t2.rusname FROM biotopelist AS t2
WHERE Left(t2.rangcode, 7) = Left(t1.rangcode, 7)
AND Right(t2.rangcode, 2)  = '00'
AND Right(t1.rangcode, 2) <> '00') AS class3

FROM biotopelist AS t1
WHERE rusname