Проблема вставки новых записей с помощью INSERT-SELECT

Как будто вы пытаетесь получить доступ к объекту, который является null. Рассмотрим ниже пример:

TypeA objA;

. В это время вы только что объявили этот объект, но не инициализировали или не инициализировали. И всякий раз, когда вы пытаетесь получить доступ к каким-либо свойствам или методам в нем, он будет генерировать NullPointerException, что имеет смысл.

См. Также этот пример:

String a = null;
System.out.println(a.toString()); // NullPointerException will be thrown
0
задан tknoob 10 April 2019 в 19:14
поделиться

1 ответ

Есть лучшие способы сделать это, но без возможности что-либо проверить, обходной путь может помочь для таблиц малого / среднего размера.

Следующее должно дать таблицу результатов, как указано, если я правильно интерпретирую данные:

WITH BASE AS ( 
SELECT
  CONCAT(lic.PersonID, lic.LicenseState) AS IDxLicense 
  FROM #License lic
)

SELECT
  person.PersonID,
  srce.LicenseState,
  srce.LicenseNumber,
  srce.LicenseYear
FROM #Person person
LEFT JOIN #SourceData srce
ON person.DomainAccountName = srce.UserID
LEFT JOIN #License lic
ON person.PersonID = lic.PersonID 
WHERE (CONCAT(person.PersonID, srce.LicenseState) NOT IN (SELECT IDxLicense FROM BASE))
0
ответ дан ALICE-down-the-ZOMBIE-hole 10 April 2019 в 19:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: