Почему в решении предлагается поставить AND !=?
Потому что магазины разные. Значит их коды не должны быть равны.
Что Вас по сути не устраивает-то? Всё правильно же! Или Вы не знаете что такое JOIN ('это то, что Вы скрыли от Нас, мы не видим что там под ppl.price, и ещё задав тупой для нашего разума вопрос, тут не дураки сидят, а люди желающие реально помочь)?