1

次のような2つのテーブルに参加しています:

    RIGHT JOIN Sheet.dbo.tbl_M_Tam TD  ON TD.Name = EU.Name

問題は、EU.Name が「name1」のようで、TD が「name1 KO」である場合があることです。この場合、結合は機能しません。そのため、EU.Name に 'KO' という文字列を 1 語の文字列として追加することで機能させたいと考えています。

それを行う簡単な方法はありますか、私は SQL Server を使用していますか?

4

4 に答える 4

2

これが 1 つの特定の文字列 ('KO') のみの場合、これは機能するはずです。

RIGHT JOIN Sheet.dbo.tbl_M_Tam TD  
    ON TD.Name = CASE WHEN EU.Name LIKE '% %' THEN EU.Name ELSE EU.Name + ' KO' END
于 2013-09-23T11:49:50.113 に答える
1

あなたはそれを行うことができますが、速くはなりません:

RIGHT JOIN Sheet.dbo.tbl_M_Tam TD  ON 
  CASE when charindex(' ', TD.Name) = 0 then td.name + ' KO' else td.name end = EU.Name

case ステートメントが評価され、スペースが存在しない場合は 'KO が追加され、それ以外の場合は元の列の値が使用されます。

于 2013-09-23T11:53:12.830 に答える
1
  RIGHT JOIN Sheet.dbo.tbl_M_Tam TD  ON TD.Name LIKE EU.Name +'%'

JOINただし、これは、使用率の高いシステムで多数の行を実行する最も効率的な方法ではないことに注意してください。効率的になりたい場合は、何らかの方法でデータをクリーンアップして、col1 と col2 を直接結合できるようにしてください。

于 2013-09-23T11:50:05.843 に答える