ГДЕ НЕ СУЩЕСТВУЕТ В ЗАПИСИ - POSTGRESQL - PullRequest
0 голосов
/ 14 апреля 2020

Я пытаюсь вставить строку в таблицу с оператором выбора и использовать условия не существует. если запись оператора select не существует, вставьте строку. но я получаю ошибку. Может кто-нибудь, пожалуйста, помогите в этом

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

INSERT INTO TBL_VPC_AT_CONS_INC_DE_DUP_01_BK_APR_14 (
  source_system_org, group_number,
  contact_party_id, Contact_Email,
  translated_contact_email, contact_last_update_date_ref,
  contact_relationship_id, contact_first_name,
  contact_last_name, partner_ref_party_id,
  contact_address_line1, contact_city,
  contact_state, contact_postal_code,
  contact_country, Contact_Part_name,
  deassociated_record, eloque_flag,
  modified_email,
  TO_BE_INSERTED
)
SELECT * 
FROM (
  SELECT * 
  FROM (
    SELECT 
      source_system_org,
      group_number,
      contact_party_id,
      Contact_Email,
      translated_contact_email,
      contact_last_update_date_ref,
      contact_relationship_id,
      contact_first_name,
      contact_last_name,
      partner_ref_party_id,
      contact_address_line1,
      contact_city,
      contact_state,
      contact_postal_code,
      contact_country,
      Contact_Part_name,
      deassociated_record,
      eloque_flag,
      modified_email,
      'Y' AS TO_BE_INSERTED
      FROM TBL_VPC_AT_CONS_INC_DE_DUP_01_BK_APR_14
      WHERE eloque_flag = 'S'
  )AA
  WHERE deassociated_record != 'Y'
) BB
WHERE NOT EXISTS (SELECT * 
                  FROM (
                    SELECT * 
                    FROM (
                      SELECT source_system_org,
                             group_number,
                             contact_party_id,
                             Contact_Email,
                             translated_contact_email,
                             contact_last_update_date_ref,
                             contact_relationship_id,
                             contact_first_name,
                             contact_last_name,
                             partner_ref_party_id,
                             contact_address_line1,
                             contact_city,
                             contact_state,
                             contact_postal_code,
                             contact_country,
                             Contact_Part_name,
                             deassociated_record,
                             eloque_flag,
                             modified_email,
                             'Y' AS TO_BE_INSERTED
                      FROM TBL_VPC_AT_CONS_INC_DE_DUP_01_BK_APR_14
                      WHERE eloque_flag = 'S'
                    ) AA
                    WHERE deassociated_record != 'Y'
                  )B 
                  WHERE TBL_VPC_AT_CONS_INC_DE_DUP_01_BK_APR_14.TO_BE_INSERTED = B.TO_BE_INSERTED 
                    AND TBL_VPC_AT_CONS_INC_DE_DUP_01_BK_APR_14.source_system_org = B.source_system_org
                    AND TBL_VPC_AT_CONS_INC_DE_DUP_01_BK_APR_14.contact_party_id = B.contact_party_id);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...