To find an answer I recreated a 'working' example:
Three different Animations called Static, Walk and Run
The Always-sensor is connected with the static-action. This animation will be played always unless an other animations gets played with a higher priority (lower number)
The Walk-sensor is connected with the and-controller called 'Walk' and the and-controller called 'Run'. Because this sensor is the only one, that is connected to the "walk"-controller, this controller will activate the connected actuators if the Walk-sensor gets activated. This will trigger the walk-action whose priority is higher than this from the static-action. This will 'override' the static-animation
The Run-sensor is connected to the and-controller called 'Run'. Because this is an and-controller, this will trigger the connected actuators if ALL connected sensors are triggered. In this case when the Keys [W] and [Left Shift] are pressed TOGETHER. This will then activate the run-action which has a higher priority than the static-action and the walk-action.
Note:
The Action-Mode 'Loop Stop' is chosen because this will loop the animation, but it will not finish the animation, if interrupted.
I made a screenshot of the node-map:

I hope I could help.