How can Sonic fly using Tails?
You can only do this if you are playing in Sonic & Tails mode. You need to at least have a second controller if you're playing by yourself. You need to make Tails fly by having him jump in the air, then hit the jump button again in mid-air. He'll then start flying and you need to keep hitting the jump button to make him ascend or release it to descend. After about 8 seconds on the ingame clock, he'll descend to the ground again because he's "tired." You can also kill enemies if you hit them with your tails.
While he's in the air, you can either have him fly over Sonic to pick him up or have Sonic jump up to grab his hands. Tails will move slower because of Sonic's weight. Note you can also do this underwater, as Tails can "swim" then, but you can't ascend while hanging onto Sonic.