Как найти неисправные данные и заменить их.? PLSQL - PullRequest
0 голосов
/ 10 ноября 2019

У меня есть ошибочная запись в History_TABLE с book_id=001 .. book_id=005 должна была быть с motif_histo=D в строке 4., но у меня есть book_id=001 в строке 4.

Я хочу найтисколько Roll_no имеют эти ошибочные записи. и как я могу изменить его, используя pls / sql

Table: History_TABLE
Roll_No | Book_id | Book | Name | Motif_histo | Date     |
1       | 001     | Georg| AWT  |  c          |20/03/2019|
1       | 001     | Georg| AWT  |  D          |20/03/2019|
1       | 001     | Georg| AWT  |  c          |11/12/2018|
1       | 001     | Georg| AWT  |  D          |11/12/2018|
1       | 005     | clone| JSP  |  C          |19/01/2018|

TABLE: MAIN_TABLE
Roll_No | Book_id | Book | Name | Motif_histo | Date     |
1       | 001     | Georg| AWT  |  c          |20/03/2019|

К вашему сведению: book_id MAIN_TABLE должен быть равен book_id из History_TABLE с max (date)

1 Ответ

0 голосов
/ 10 ноября 2019

Если вы говорите, что строки с Motif_histo = 'D' должны иметь Book_id = 5, тогда мы имеем следующее. Однако ваш последний комментарий о «удалении старой записи и добавлении новой записи с book_id = 001» немного сбивает с толку »:

Если вы хотите узнать, сколько у вас« ошибочных »строк, запуститеследующий запрос:

select count(*) from History_TABLE where Motif_histo = 'D' and Book_id <> '005';

Чтобы исправить эти строки, выполните следующее:

update History_TABLE set Book_id = '005' where Motif_histo = 'D' and Book_id <> '005';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...