Opposite of the digital root!

JavaScript (ES6), 27 31 30 bytes

Returns 0 for 0 or an array of solutions otherwise.

n=>n&&[...1e9+''].map(_=>n+=9)

Demo

let f =

n=>n&&[...1e9+''].map(_=>n+=9)

for(n = 0; n < 10; n++) {
  console.log(n, JSON.stringify(f(n)));
}


05AB1E, 13 12 9 bytes

-3 bytes thanks to Adnan

тL<ʒSOSOQ

Try it online!

Explanation

тL<ʒSOSOQ   Main link. Argument n
тL<         List from 1 to 100, then decrement to get 0 to 99
   ʒ        Filter
    SOSO    Sum of all chars, twice
        Q   Compare to input

Jelly, 8 bytes

11Ḷ×9+ȧ@

Try it online!

Different algorithm than my other answer.