2013-11-15 41 views
0

我想找到的號碼「 - 」在一個表中,我使用這個查詢,但它不工作查找數「 - 」在表中

adapter.SelectCommand = new SqlCommand("select Count (*) from try 
where DistrictName = '-' OR TownName = '-' 
OR FarmerName = '-' OR Area = '-'"), con);* 

此外,我怎樣才能改變這個查詢在每列中查找「 - 」號碼?

+2

爲什麼不是加工?您能否顯示一些樣本數據,預期結果以及您獲得的結果? – Barmar

+2

這用於計算其中任何一列是「 - 」的行數。如果一行有'-'多列,則不會多次計數。這是問題嗎? – Barmar

+0

查詢確實執行正確,但它並沒有統計表中的所有「 - 」如何。 – user1056466

回答

4

關於第二個問題:

SELECT 
    SUM(CASE WHEN DistrictName = '-' THEN 1 ELSE 0 END) Districts, 
    SUM(CASE WHEN TownName = '-' THEN 1 ELSE 0 END) Towns, 
    SUM(CASE WHEN FarmerName = '-' THEN 1 ELSE 0 END) Farmers, 
    SUM(CASE WHEN Area = '-' THEN 1 ELSE 0 END) Areas 
FROM try 

對於第一個問題,試試這個跨所有列來獲得連字符的總數:

SELECT 
    SUM((CASE WHEN DistrictName = '-' THEN 1 ELSE 0 END) + 
     (CASE WHEN TownName = '-' THEN 1 ELSE 0 END) + 
     (CASE WHEN FarmerName = '-' THEN 1 ELSE 0 END) + 
     (CASE WHEN Area = '-' THEN 1 ELSE 0 END)) AS Hyphens 
FROM try 

DEMO

+0

另外,請注意在本例中使用關鍵字的大寫字母 - 它使得它更容易閱讀,並且是SQL的普遍接受的標準。 – Basic

+0

您是否確定語法「Select SUM(DistrictName =' - ')DistrictNULLVALUES,SUM(TownName =' - ')Towns from try」,因爲它一直給我這個錯誤'=' – user1056466

+0

附近的語法不正確。你認爲什麼是錯的? 「AS」關鍵字是可選的。 – Barmar