我有以下员工数据表。 我试图根据以下逻辑创建一个选择查询: 如果状态=' X',则仅显示状态=' X' 否则如果(状态不=' X'和状态=空格),则显示所有记录
我已经尝试了所有可能的组合来获得结果但失败了。任何人都可以建议我如何执行此操作?
EmpNo | Name |Status | Age
================================
11 | Aron | A | 25
22 | Barry | X | 26
33 | Carol | A | 27
44 | Danny | I | 28
55 | Emmy | X | 29
66 | Fanny | I | 30
77 | Garry | A | 25
88 | Harry | X | 26
答案 0 :(得分:0)
在单个查询中无法实现您想要做的事情。您需要根据Where
条件编写多个选择查询。
在Cobol中,将您的输入移动到工作存储主机变量WS-AGE和WS-STATUS。然后将您的查询写为:
If Age > Zeroes and Status > Spaces
Select EmpNo, Name, Age, Status
into :host-variable1, :hv2, :hv3, :hv4
from Table
Where Age=:WS-AGE
and Status=:WS-STATUS
Else
If Age > Zeroes
Select EmpNo, Name, Age, Status
into :host-variable1, :hv2, :hv3, :hv4
from Table
Where Age=:WS-AGE
Else
Select EmpNo, Name, Age, Status
into :host-variable1, :hv2, :hv3, :hv4
from Table
End-if
End-if