0

我有一个情况,我有两个表,我想要一个计算列。

表格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 回答