我有3个表,让我们说表A,B,C来混淆我的软件:)。 A和B有两列数字值,表C有一列布尔列。
我想要的是创建一个包含单个列的视图,其中根据C中的列,选择A或B中的值。
示例:
输入:
| A.val | | B.val | | C.val |
--------- --------- ---------
entry1 | 1 | | 6 | | T |
entry2 | 2 | | 8 | | F |
输出:
| D |
-----
entry1 | 1 |
entry2 | 8 |
我想知道是否有办法在SQL语句中执行此操作,因为我目前正在以编程方式执行此操作,这会占用不必要的资源。
答案 0 :(得分:5)
如果您尝试选择A,如果C = T或B,如果C = F,那么您可以使用案例陈述
Select (Case When C.val = TRUE Then A.val Else B.Val END) AS D
From Table
答案 1 :(得分:0)
您可以使用CASE语法。
SELECT CASE WHEN C.val = 'T' THEN A.val ELSE B.val END as yourField