我的 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”?
谢谢
我的 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”?
谢谢
您可以使用立即 if,IIF。
SELECT IIf(Group="A",DetailA,DetailB) As Detail
FROM Table
我喜欢 Remou 的回答,IIF 是一个很好的简单函数,但是如果您要比较多个值,它可以快速增长以适应所有 IIF,作为多场景中的替代方案,或者如果您希望可以使用单值,则可以使用切换方式:
SELECT Switch(Group="A", DetailA, Group="B", DetailB) AS Detail
FROM Table
然后您只需继续添加例如 Group="C"、DetailC 等