我有一种情况,我有两个表,我想要一个计算列。
表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
希望我有一些意义,如何进行此查询。
答案 0 :(得分: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