以下のSQLでは、Excelシートで「不良行」が見つかり、それらを別のテーブルにコピーします。これは完璧に機能します。ただし、以下の各ORステートメントの下で、列「拒否理由」=エラーテキストを作成したいと考えています。たとえば、eventID が = 0 の場合、行をテーブルに移動しますが、列 "rejectionreason" をテキスト "Error the eventID was equals to 0" に更新します。
以下の他のすべての OR ステートメントについても、同様の操作を行う必要があります。
これどうやってするの
SQL
REPLACE INTO InvalidBaseDataTable SELECT * FROM BaseDataTable where dateTime = '0000-00-00 00:00:00'
OR eventId = 0
OR ueType = 0
OR eventId NOT IN (SELECT DISTINCT(eventId) FROM EventCauseTable)
OR causeCode < (SELECT MIN(causeCode) FROM EventCauseTable)
OR causeCode > (SELECT MAX(causeCode) FROM EventCauseTable)
OR ueType NOT IN (SELECT DISTINCT(tac) FROM UeTable)
OR
(eventId NOT IN (SELECT DISTINCT(eventId) FROM EventCauseTable)
AND
causeCode NOT IN (SELECT DISTINCT(causeCode) FROM EventCauseTable))