1
4

5 回答 5

0
where (Table.table_who<>"aaa") OR (Format(Now()-[table_when],"hh")<12 AND Table.table_who="aaa") 

如果我理解正确的话。哪里不是 aaa 或者现在是 aaa - 当 > 12 时?

于 2012-10-08T10:18:33.570 回答
0

请尝试:

   SELECT Table.table_id, Table.table_who, Table.table_whom, Table.table_when, Format(Now()-  [table_when],"hh") AS Diff
    FROM [Table]
    WHERE (((Table.table_who)<>"aaa") AND ((Format(Now()-[table_when],"hh"))<12))
    OR (((Table.table_who)="aaa") AND ((Format(Now()-[table_when],"hh"))<12))
于 2012-10-08T10:18:40.363 回答
0

试试这个代码:

SELECT Table.table_id, Table.table_who, Table.table_whom, Table.table_when, Format(Now()-[table_when],"hh") AS Diff
    FROM [Table]
    WHERE (Table.table_who)<>"aaa") 
    OR ((Table.table_who)="aaa") AND ((Format(Now()-[table_when],"hh"))<12) ); 
于 2012-10-08T10:18:42.057 回答
0

只需像您定义的那样编写条件:

WHERE
 (Table.table_who = 'aaa' AND Format(Now() - [table_when], 'hh') < 12) OR
 Table.table_who <> 'aaa'

你只需要括号在某些情况下当然不应该过度使用它们,但我喜欢在这样的情况下将条件组合在一起,当你想要(A AND B)OR C时。如果你这样写,就不会出错关于计算表达式的顺序。

根据您的习惯,不同的缩进可能会使其更加清晰。

WHERE
 (
    Table.table_who = 'aaa' 
    AND Format(Now() - [table_when], 'hh') < 12
 ) 
 OR Table.table_who <> 'aaa'
于 2012-10-08T10:18:46.087 回答
0

我想这就是你想要的:

WHERE (Table.table_who = "aaa" AND Table.table_when > SUBDATE(CURDATE(), INTERVAL 12 DAY)) OR Table.table_who <> "aaa"
于 2012-10-08T10:22:32.650 回答