(5) Хочется внятного вопроса, на который можно дать четкий ответ. На вопросы "Кто виноват?" и "Что делать?" можно отвечать долго...
Универсальный ответ на вопрос из (0) дать можно: нужно переписать текст запроса и переделать условия.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший