Это ваш запрос:
SELECT A.*
FROM A LEFT JOIN
B
ON A.x = B.x
WHERE A.z = 'Hola' AND B.y IS NOT NULL;
Вам нужно разложить запрос.
Результирующий набор будет иметь только A.Z = 'Hola'
. Это важный фильтр в предложении WHERE
.
Тогда B.y IS NOT NULL
означает две вещи: и то, что совпадение существует в B
, и то, что y
нет NULL
. Итак, этот запрос эквивалентен:
SELECT A.*
FROM A INNER JOIN
B
ON A.x = B.x
WHERE A.z = 'Hola' AND B.y IS NOT NULL;
При внутреннем объединении вы можете поместить условия WHERE
в ON
. Это вопрос стиля. Вы не можете сделать это с LEFT JOIN
.
Тогда «эквивалентный» EXISTS
запрос будет:
SELECT A.*
FROM A
WHERE A.z = 'Hola' AND
EXISTS (SELECT 1 FROM B WHERE A.x = B.x AND B.y IS NOT NULL);
Это не совсем то же самое. Версия с JOIN
будет возвращать повторяющиеся строки для A
, если в B
есть несколько совпадений. Поскольку вы выбираете только из A
, дубликаты, вероятно, нежелательны, и я бы порекомендовал запрос EXISTS
.
Мое предложение состояло бы в том, чтобы попробовать или текст ссылки MadExcept или текст ссылки Eurekalog. Они получают необработанное исключение и производят дамп стека в точке, где проблема происходит.
Никакая ссылка на них кроме как удовлетворенный клиент. MadExcept позволил мне разыскать и устранить некоторые очень редкие проблемы в своих программах.
Я повторно управлял бы некоторым рычагом Исключения, как Eurekalog или madExcept, который дает Вам хороший стек вызовов, когда исключения происходит.
Теперь это хочет, помогают Вам очень теперь, курса...
У меня не было удачи с, 'Находят ошибку' диалоговым окном. Generaly, последовательный провальный случай и большое продвижение являются единственным/самым быстрым/самым легким решением. Если это - случай неинициализированного указателя или освобожденного объекта, FastMM4 может помочь Вам с правильными настройками.
Когда программа отказывает, Windows должен сохранить дамп катастрофического отказа. Можно затем загрузить это в WinDbg или, в повышении, Visual Studio. Существуют различные способы проанализировать дамп для обнаружения то, что пошло не так, как надо. Запустить Вас:
Диагональ Отладки установки и монитор Ваше приложение, он генерирует файл ДАМПА для Вас и имеет, анализируют к.
Вы могли использовать Проводник Монитора или Процесса Процесса, обоих от сайта SysInternals.
Отслеживание AV может быть затруднено, потому что реальная причина может быть не в той точке, где на самом деле возникает исключение. Несколько общих советов: