2009-05-07 3 views
0

私はテーブルに次のデータを持っています。私はフィールドLeftIdとRightIdは上記、それらが数字として列挙されているにもかかわらず(NULLS OR NVARHCAR値を含めることができますいくつかの簡単なデータチェックで簡単なSQL INSERTを実行しようとする助けが必要です

Id   Name 
------------------------------- 
1   Cat 
2   Cat 
4   Dog 
5   Dog 
7   Dog 
69   Dog 
12   Gerbil (or 13. don't care which number out of the two) 

...として新しいテーブルにそれらを挿入する必要があり

Name    LeftId RightId 
------------------------------------------ 
Cat      1 
Cat      2 
Dog      4 
Dog      5 
Dog        7 
Dog        69 
Gerbil     12  13 

...彼らはいつもちょうどインポートがNVARCHAR(255)としてフィールドを作成した。..数字になります。

必要であれば、私は、ソーステーブルのフィールドを変更することができます。

誰が助けることはできますか?

私は、挿入文がその中に選択クエリを持ち、CASE文を使用すると推測しています。しかし、私はそれを最善を尽くす方法を確信していません。

乾杯:)

答えて

5

あなたがのIsNullで簡単にこれを行うことができます:DB2で

INSERT INTO newtable (id,name) 
SELECT IsNull(leftid,rightid), name 
FROM oldtable 
+1

代わりにあなたが合体(leftid、rightid)を書き込むことは、IsNullの –

+0

私はCOALESCEは、ANSI SQLベースであることを信じています92標準であるため、ANSI準拠のデータベースで動作する必要があります。 –

+0

同意。 MySQLは合流も必要とするでしょう。 – Hafthor

関連する問題