首先,我只想说谢谢您的所有帮助。我在查询的下一步中有一个新问题。
- 对于每个记录,有三列。为了论证,让称他们为a,b和c。
- 在每一列中可以有四个结果:通过,未测试,低,高
- 未进行测试,可以将通行证视为通行证。
- 低和高可以视为失败。
我想在另一列中看到结果,如果A,B或C列中有任何故障语句,将显示失败响应。否则将在新列中显示通行证。
A------------B.---------- C.---------RESULT.-------
PASS---------PASS---------PASS-------PASS----------
High---------PASS---------PASS------ FAIL----------
Not Tested---PASS---------PASS-------PASS----------
LOW----------PASS---------PASS-------FAIL----------
谢谢,
将列的默认值设置为"通过",然后运行以下查询:
UPDATE ATable SET ATable.D = "FAIL"
WHERE (((ATable.A)="high" Or (ATable.A)="low")) OR (((ATable.B)="high" Or (ATable.B)="low")) OR (((ATable.C)="high" Or (ATable.C)="low"));
以下情况如何?您需要做的就是检查三列中的任何一个是否具有"失败"或"低"或"高"以表示故障。或者您可以翻转逻辑...
SELECT Table1.A, Table1.B, Table1.C,
IIf([a]='Fail' Or [a]='Low' Or [a]='High','Fail',
IIf([b]='Fail' Or [b]='Low' Or [b]='High','Fail',
IIf([c]='Fail' Or [c]='Low' Or [c]='High','Fail','Pass'))) AS Result
FROM Table1;
这是翻转逻辑:
SELECT Table1.A, Table1.B, Table1.C,
IIf([a]='Pass' Or [a]='Not Tested',
IIf([b]='Pass' Or [b]='Not Tested',
IIf([c]='Pass' Or [c]='Not Tested','Pass','Fail'),'Fail'),'Fail') AS Result2
FROM Table1;