访问比较结果的多个列

时间:2017-03-03 21:36:46

标签: ms-access

首先,我只是想感谢你的帮助。我的查询的下一步有一个新问题。

  • 每条记录有三列。为了争论让我们 称他们为A,B和C.
  • 在每列中可以有四个结果:通过,未经测试,低, 高
  • 未经测试且Pass可被视为通行证。
  • 低和高可被视为失败。

我希望在另一列中看到一个结果,如果A,B或C列中有任何失败语句,将显示失败响应。否则,通行证将显示在新栏目中。

A------------B.---------- C.---------RESULT.-------
PASS---------PASS---------PASS-------PASS----------
High---------PASS---------PASS------ FAIL----------
Not Tested---PASS---------PASS-------PASS----------
LOW----------PASS---------PASS-------FAIL----------

谢谢,

2 个答案:

答案 0 :(得分:0)

以下怎么样?您需要做的就是检查三列中的任何一列是否有“失败”或“低”或“高”以指示失败。或者你可以翻转逻辑......

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;

答案 1 :(得分:0)

将ColumnD的默认值设置为" PASS",然后运行以下查询:

decimal d = (decimal)Convert.ToDouble(sng);