2

我的 ms 访问表是这样的:

ID | Group | Detail(A) | Detail(B)
1  | A     | ABC       |
2  | A     | DEF       |
3  | B     |           | GHI

当 Group=A 时,我的访问 sql 如何将 Detail(A) 选择为“Details”,当 Group=B 时将 Detail(B) 选择为“Details”?

谢谢

4

2 回答 2

2

您可以使用立即 if,IIF。

 SELECT IIf(Group="A",DetailA,DetailB) As Detail 
 FROM Table
于 2012-08-22T09:26:31.503 回答
1

我喜欢 Remou 的回答,IIF 是一个很好的简单函数,但是如果您要比较多个值,它可以快速增长以适应所有 IIF,作为多场景中的替代方案,或者如果您希望可以使用单值,则可以使用切换方式:

SELECT Switch(Group="A", DetailA, Group="B", DetailB) AS Detail
FROM Table

然后您只需继续添加例如 Group="C"、DetailC 等

于 2012-08-22T10:06:39.780 回答