多くのデータが移行されましたが、現在はそれらが正しいかどうかチェックしたいと考えています。移行後のデータを分析するためのSQL
以下は簡単な例です。 すでに別のテーブルに入力されているテーブルを移行しました。 今、両方のテーブルの数を確認して比較したいと思います。つの結果として
SELECT 'Prüfung1' AS "Prüfung", (CASE
WHEN (SELECT count(*) FROM TableA) = (SELECT count(*) FROM TableB)
THEN 'OK!'
ELSE '!!! Anzahl stimmt nicht überein !!!' END) "Ergebnis" FROM dual
しかし、私はそのようないくつかのテストを実施するだろう、とショー: はまた、私は次のクエリを作成しました。私が2番目のテストで置き換えられる場合、これは行ではなく列として表示されます。
SELECT * FROM (
SELECT 'Prüfung1' AS "Prüfung", (CASE
WHEN (SELECT count(*) FROM TableA) = (SELECT count(*) FROM TableB)
THEN 'OK!'
ELSE '!!! Anzahl stimmt nicht überein !!!' END) "Ergebnis" FROM dual) check1,
(
SELECT 'Prüfung2' AS "Prüfung", (CASE
WHEN (SELECT count(*) FROM TableC) = (SELECT count(*) FROM TableD)
THEN 'OK!'
ELSE '!!! Anzahl stimmt nicht überein !!!' END) "Ergebnis" FROM dual) check2;
私の結果は次のようになります。
|Tests|Result| |Check1|Result1| |Check2|Result2| |Check3|Result3| ...
にはどうすれば最善のことを行うことができますか?
私のenglsihに申し訳ありません! ;-)
ここ@vercelli
の更新ORA-00904エラーを持つクエリ:私は彼らのtableName
ですべてのテーブルのcount(*)
でサブクエリを作成したい
with myTables as (select 'tableA' as tableName, count(*) as howMany from MIGRATION_OLDTABLE1 union all
select 'tableB' as tableName, count(*) as howMany from OLDTABLE1 union all
select 'tableC' as tableName, count(*) as howMany from MIGRATION_OLDTABLE2 union all
select 'tableD' as tableName, count(*) as howMany from OLDTABLE2
--....
--select 'tableN' as tableName, count(*) from TableC
),
myRelations (select 'tableA' as newTable, 'tableB' as oldtable from dual union all
select 'tableC' as newTable, 'tableD' as oldtable from dual)
select DECODE(a1.howMany, a2.howMany, 'OK', 'KO') as results , r.newTable ||' : ' || to_char(a1.howMany) ||' vs. '|| r.oldTable || ' : ' || to_char(a2.howMany) diff
from myTables a1 join myRelations r on a1.tableName = r.newTable
join myTables a2 on a2.tableName = r.oldTable;
私はあなたが本当に結果として何をしたいかわかりません。行数が異なるテーブルだけ?または異なる値を持つ行ですか?あなたの質問を編集して、そのデータに基づいてサンプルデータと予想される出力を加えてください。 _Formatted_ text please、[スクリーンショットなし](http://meta.stackoverflow.com/questions/285551/why-may-i-not-upload-images-of-code-on-so-when-asking-a-質問/ 285557#285557) –
'all union 'を使用してください。 –