2014-01-07 39 views
1

我是新手,有一個簡單的問題。 在Microsoft Access中,我有幾個帶有肯定或否定答案的字段。 我可以將這些字段彙總到一個字段中,該字段包含哪些字段在查詢中具有肯定答案?如何將字段彙總到一個字段?

Field1 : positive 
Field2 : negative 
Field3 : negative 
Field4 : positive 

Newfield : Field1, Field4 

回答

1

這是從下面的查詢與idField1輸出通過Field4存儲於命名爲YourTable表。

id Field1 Field2 Field3 Field4 NewField 
-- -------- -------- -------- -------- -------------- 
1 positive negative negative positive Field1, Field4 
2 negative positive positive negative Field2, Field3 
3 negative negative negative positive Field4 
4 positive negative negative negative Field1 
SELECT 
    sub.id, 
    sub.Field1, 
    sub.Field2, 
    sub.Field3, 
    sub.Field4, 
    IIf 
     (
      Right(sub.raw_string,2)=', ', 
      Left(sub.raw_string, Len(sub.raw_string) -2), 
      sub.raw_string 
     ) AS NewField 
FROM 
    (
     SELECT 
      y.id, 
      y.Field1, 
      y.Field2, 
      y.Field3, 
      y.Field4, 
       (IIf(y.Field1='positive','Field1',Null) + ', ') 
      & (IIf(y.Field2='positive','Field2',Null) + ', ') 
      & (IIf(y.Field3='positive','Field3',Null) + ', ') 
      & IIf(y.Field4='positive','Field4',Null) 
       AS raw_string 
     FROM YourTable AS y 
    ) AS sub; 
+0

感謝HansUp。這很快,效果很好。你救了我的一天。只是想知道,我有大約20個類似的領域,IIf命令是否會工作,因爲我讀到它對命令數量或執行時間有限制。或者我必須做一個替代方案。再次感謝 – abdullahgz

+0

我認爲嵌套的'IIf'表達式是有限制的,但是這個查詢不會嵌套它們,所以這個限制不適用。它應該在延伸到20個領域時仍然有效,但我不知道它是否足夠快。 – HansUp

+0

謝謝,我現在明白了,我會試試看 – abdullahgz

相關問題