2012-08-22 171 views
2

我的MS Access的表像这样的特定列:作为 '详细资料'选择基于列的值

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

如何将我的访问SQL选择详细信息(A)当组= A,详细信息(B)为“当组= B时的详细信息?

谢谢

回答

2

您可以使用即时if,IIF。

SELECT IIf(Group="A",DetailA,DetailB) As Detail 
FROM Table 
1

我喜欢Remou的回答,IIF是一个不错的功能简单,但是如果你是比较多的值,它可以快速成长,以适合所有IIF的,作为替代在多场景,甚至单身值如果你希望你可以使用开关方法:

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

然后,你会简单地继续添加例如组=“C”,DetailC等

+0

我认为,如果你超越了说,组D,你会更好的查找表。 – Fionnuala

+0

非常感谢! –