Обновление значения в таблице SQL и удаление избыточных записей - PullRequest
0 голосов
/ 20 октября 2019

У меня есть эта база данных со следующими таблицами, которые содержат много избыточных записей из различных вставок в операторы таблиц вместо обновления уже существующих данных. Есть ли способ удалить избыточные записи без потери данных в таблице?

Мой код:

SELECT EMP_NUM,
       EMP_LNAME,
       EMP_FNAME,
       EMP_INITIAL,
       EMP_HIREDATE,
       JOB_CODE,
       EMP_PCT,
       PROJ_NUM
FROM EMP_2

Мой второй вопрос: мне нужно написать код SQL, чтобы изменить значение EMP_PCT на 3.85 для лица, чей номер сотрудника (EMP_NUM)) 103.

1 Ответ

1 голос
/ 20 октября 2019

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

  1. Вам все равно, поэтому вы можете просто сделать select distinct во временную таблицу, чтобы получить уникальные строки (без избыточности), затем удалите таблицу и вставьте обратно уникальные значения.

  2. У вас есть столбец, для которого вы решаете, какие строки,из группы строк будет тот, который нужно сохранить. Например, у вас есть столбец dateOfInsert, поэтому вы можете использовать такой запрос:

    select *, row_number() over (order by dateOfInsert desc) rn from MyTable
    

, затем вставьте записи во временную таблицу с помощью rn = 1, удалите таблицу и вставьте тольконовейшие записи.

Что касается второго вопроса, он является основным:

update MyTable set EMP_PCT = 3.85 
where EMP_NUM = 103
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...