Apply a non-centered force to a collection of 'joined' GameObjects

I have a table, that is constructed with 3 GameObjects as the top, and two more as the legs. These are connected by setting the parent of all objects to the centre piece. (Eg, top1.transform.parent = top2.transform;)
When I applied an upwards force to the right leg, I was hoping that leg would raise but the other would stay, rotating the entire table anti-clockwise. However any upwards force on any of the objects would cause the entire construct to move upwards.

Is there an easy way to achieve the effect I’m after? The force code I’m using is:
legRigidBody1.AddRelativeForce(new Vector2(0, 1), ForceMode2D.Force);

Thanks!

76581-construct.jpg

Only the root gameobject should have a rigidbody, no more, no less. When you took care of that, check out this method: Unity - Scripting API: Rigidbody.AddForceAtPosition