0

2 つのテーブルがあり、計算列が必要な状況があります。

表1:VacationMaster

PrefVacationId     |      Description
-----------------------------------------------
1                  |        abc
2                  |        xyz
3                  |        lmn
4                  |        pqr
5                  |        wqa

表 2:VacationMapping

PrefVacationId [fk]    |      UseID  |   ID (PK of this table) 
-----------------------------------------------
    1                  |        1    |    1
    4                  |        1    |    2
    5                  |        1    |    3
    1                  |        2    |    4
    2                  |        3    |    5

私が必要とするのは、利用可能なすべてのリスト休暇がすべてのユーザーのマスターテーブルから来るたびです。手順へuseridの入力として指定すると、結果は次のようになります。

入力userID = 1として

PrefVacationId     |      Description  |       IsSelected(Computed column)
-------------------------------------------------------------------
1                  |        abc        |        true        
2                  |        xyz        |        false
3                  |        lmn        |        false
4                  |        pqr        |        true
5                  |        wqa        |        true

このクエリの作成方法について、ある程度の理解が得られることを願っています。

4

1 に答える 1

1

これを試すことができます

Select 
   vm.PrefVacationId,
   Description,
   CASE WHEN vMap.PrefVacationId IS NOT NULL THEN 'True'
   ELSE 'False'
   END IsSelected
From VacationMaster vm
Left Outer Join VacationMapping vMap
ON vm.PrefVacationId = vMap.PrefVacationId 
AND vMap.UserID = @UserID
于 2012-07-11T16:36:54.737 に答える