2014-05-14 106 views
-1

SQL的新特性和我一直在努力的查詢有一個列中的多個值統計並加在一起。下面是該查詢查詢一個列中的多個值

select count (*) as NEWCOL 
from table1 
where COL1 = 'val1' and COL2 = 'val1' and COL3='val1' or 'val2' 
+2

對不起,我想你需要解釋一下你想在這裏實現的! –

+1

更多詳細信息和樣本值將有所幫助 – TGH

+1

當沒有人知道OP正在嘗試做什麼時,如何纔能有答案? – WillardSolutions

回答

0

你的WHERE條件看起來有缺陷:

select count (*) as NEWCOL 
    from table1 
    where COL1 = 'val1' 
    and COL2 = 'val1' 
    and (COL3 = 'val1' or COL3 = 'val2') 
     ; 
+0

我認爲你錯過了'加在一起'的部分。 – WickedFan

+0

@WickedFan這是正確的,但這也是OP需要詳細闡述的部分。 – collapsar

+0

我忽略了使用括號。 – kidaiu

0

試試這個:

SELECT 
    COUNT(y.*) as NewCol 
    ,x.[allfields] as WhatyouWantitToBe 
FROM 
    table1 y 
OUTER APPLY 
    (SELECT 
    x.col1 + ' ' + x.col2 + ' ' + x.col3 AS [allFields] 
    FROM 
    table1 x 
    WHERE 
    x.col1 = y.col1 
    AND 
     x.col2 = y.col2 
    AND 
     x.col3 = y.col3) AS x 
WHERE 
    y.COL1 = 'val1' 
    AND y.COL2 = 'val1' 
    AND (y.COL3 = 'val1' 
     OR 
     y.COL3 = 'val2') 

再然後,這就是可以與你所提到的來完成。 varchar字段的連接以及計數。