2016-09-08 9 views
0

カラムを更新したい。値がリスト内またはテーブル内にないか、または一致しない場合、「アカウント関連ではありません」が返され、値がリスト内にある場合、行は空白になります。これは私の質問です。SQL Serverを使用した変換ロジック

SELECT 
    CASE Project_Names 
     WHEN "List_Value_Name".[LK_ProjectNames] = "Project_Names".[1] 
      THEN '' 
      ELSE "Not Account Related" 
    END 
FROM 
    [master].[dbo].[1] 

表カラムProject_Names持つ列List_Value_Name & table 1LK_ProjectNamesあります。

表1の列Project_Namesの値がLK_ProjectNamesの列List_Value_Nameに入っている場合は空白になります。それが返されない場合はNot Account Related

+0

この質問は現在解決できません。関連するすべてのテーブルのテーブル構造を表示するために更新してください。 –

答えて

0

プロジェクト名を1行に1つのテーブルに格納する場合は、

SELECT *, 
    CASE WHEN EXISTS(SELECT 1 FROM LK_ProjectNames l WHERE LTRIM(RTRIM(t.Project_Names)) =LTRIM(RTRIM(l.List_Value_Name))) THEN '' ELSE 'Not Account Related' END as RESULT 
FROM table1 t 

プロジェクト名をカンマ区切りで表1に格納している場合。

SELECT *, 
    CASE WHEN EXISTS(SELECT 1 FROM LK_ProjectNames l WHERE LTRIM(RTRIM(t.Project_Names)) like '%'+LTRIM(RTRIM(l.List_Value_Name))+'%') THEN '' ELSE 'Not Account Related' END as RESULT 
FROM table1 t 
+0

空白スペースの影響を避けるにはどうすればよいですか?なぜなら、私の照会を実行すると、空白スペースは、値が関連する列と一致しないため、「関連しないアカウント」になります。 – meow

+0

空欄はどの列にありますか? Project_NamesまたはList_Value_Name?列値の両側にTRIM関数を使用する場合は、更新されたコードを参照してください。 –

+0

Project_Names。 Project_Namesは私が更新する必要があるメインテーブルです。私はまだ空白を残す必要があります。私はちょうどそれが影響を受けるようにしたい、ちょうど空白のスペースを無視する。 – meow

関連する問題