2011-03-24 45 views
0

這是我的查詢MySQL的意見我查詢的輸出,我需要不同的方式

Select Count(Case When campaign_pid != 0 Then 1 End) As Email, 
    Count(Case When sms_pid != 0 Then 1 End) As Sms, 
    Count(Case When survey_pid != 0 Then 1 End) As Survey 
From tablename 

請幫我 這是我的查詢輸出

Email Sms  Survey  
21  1  4 

我需要輸出這樣

name value 
Email 21 
Sms  1 
Survey 4 

請告訴我怎麼去像上面optput

+0

請提供表結構。順便說一句ü可以使用'UNION'得到預期的結果 – diEcho 2011-03-24 06:37:58

+0

campaign_pid \t INT(11) \t sms_pid \t INT(11) \t survey_pid \t INT(11) – mohan 2011-03-24 06:43:04

+0

我做了瞭解不多UNION概念請給我查詢 – mohan 2011-03-24 06:44:06

回答

0

TRY

SELECT COUNT(Case WHEN campaign_pid != 0 THEN 1 END) AS Email FROM tablename 
UNION 
SELECT COUNT(Case WHEN sms_pid != 0 THEN 1 END) As Sms FROM tablename 
UNION 
SELECT COUNT(Case WHEN survey_pid != 0 THEN 1 END) As Survey FROM tablename 

Reference

+0

輸出就這樣 電子郵件我需要這樣的 名稱值 電子郵件21 短信1 輸出調查4 – mohan 2011-03-24 06:52:29

+0

@莫漢如果你已經獲得數據,那麼你可以用PHP操縱任何你想要的,爲什麼你想從MYSQL中獲得? – diEcho 2011-03-24 07:01:00

+0

我需要查詢提供什麼我想 我想給輸入作爲查詢軟件,它提供輸出給我只有 – mohan 2011-03-24 07:02:21