A dog which fights another has nealry always lacked early socialisation. Normally, as long as there is no human interference, dogs will quickly sort out which is the dominant one without causing much damage to eachother as long as they are off the lead.
Putting a leash on a dog, when you see another dog approaching, teaches it that it must get to that other dog quickly to escape the punishment of being put on the leash.
Take the dog to a training class where it can socialise.
One dog is a pet and two is a problem. That is the saying in our profession. Two male dogs fight over status or through jealousy over you. A behaviorist can analyze who is the top dog. Once this has been established, and there must be no error, then the junior should be castrated to reduce his status. This normally stops the fighting.
Two female dogs which fight are another matter altogether. It is no good having one of them spayed and the only real answer is to find one of them another home.
An older dog and a newly acquired puppy can work out how to live together if you allow nature to take its course. Simply walk away when the older one gets vocal. Feed and pet the older dog first. If they start fighting always walk away for your presence causes jealousy. Similarly when you touch the young pup you put your scent on it so the older one gets jealous.