  | 
				VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.   
				 | 
			 
		 
		 
	
		| 上一篇主題 :: 下一篇主題   | 
	 
	
	
		| 發表人 | 
		內容 | 
	 
	
		jslin
 
 
  註冊時間: 2008-02-25 文章: 7
 
  第 1 樓
  | 
		
			
				 發表於: 星期四 九月 02, 2010 10:38 am    文章主題: 判斷 達成率百分 的欄位值 | 
				     | 
			 
			
				
  | 
			 
			
				有一段SQL語法
 
SELECT LC002 AS 年月, LC001 AS 廠商編碼, MA002 AS 廠商名稱, LC005 AS 月交貨總筆數, LC011 AS 月逾期總筆數 ,  
 
ROUND(((LC005 - LC011) / LC005 * 100),2) AS 達成率百分比
 
FROM HTWF11..PURLC INNER JOIN HTWF11..PURMA  
 
ON LC001 = MA001  
 
WHERE LC002 = '201003'   
 
ORDER BY LC002
 
 
現在希望能在後面多一個欄位, 判斷 達成率百分 的欄位值
 
1. 達成率百分比 >=70 時顯示 YES 
 
2. 達成率百分比 < 70 時顯示 NO
 
 
目前自己倆段作法是資料匯入到Excel後再以公式 =IF(F4 >= 70,"YES","NO") 來顯示 YES 或 NO
 
資料畫面如附檔 (checkingXX.JPG)
 
 
這樣資料畫面是否可以直接以SQL語法解決 .... ??
 
 
Looking Ahead on Request
 
「Wish you all the best」 Thanks a lot !! | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		saint
 
 
  註冊時間: 2003-07-14 文章: 211
 
  第 2 樓
  | 
		
			
				 發表於: 星期四 九月 02, 2010 11:16 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				CASE WHEN ROUND(((LC005 - LC011) / LC005 * 100),2) > 70 THEN 'YES'
 
		ELSE 'NO' END AS [合格] | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		jslin
 
 
  註冊時間: 2008-02-25 文章: 7
 
  第 3 樓
  | 
		
			
				 發表於: 星期四 九月 02, 2010 12:03 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | saint 寫到: | 	 		  CASE WHEN ROUND(((LC005 - LC011) / LC005 * 100),2) > 70 THEN 'YES'
 
		ELSE 'NO' END AS [合格] | 	  
 
 
非常地感謝 瞭解,,,, 
 
 
 
自己再修正一下縮短語法
 
SELECT LC002 AS 年月, LC001 AS 廠商編碼, MA002 AS 廠商名稱, LC005 AS 月交貨總筆數, LC011 AS 月逾期總筆數,  
 
ROUND(((LC005 - LC011) / LC005 * 100),2) AS 達成率百分比, 合格=
 
CASE 
 
WHEN ROUND(((LC005 - LC011) / LC005 * 100),2) >= 70 THEN 'YES'
 
ELSE 'NO'
 
END
 
FROM HTWF11..PURLC INNER JOIN HTWF11..PURMA  
 
ON LC001 = MA001  
 
WHERE LC002 = '201007'   
 
ORDER BY LC002
 
 
如果再進一步考量當分母為 '0' 時處理語法呢 ?? | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		saint
 
 
  註冊時間: 2003-07-14 文章: 211
 
  第 4 樓
  | 
		
			
				 發表於: 星期四 九月 02, 2010 2:16 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				CASE WHEN LCOO5 > 0 THEN		
 
			CASE
 
				WHEN ROUND(((LC005 - LC011) / LC005 * 100),2) >= 70 THEN 'YES'
 
			ELSE 'NO' END
 
		ELSE '0' END | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		 | 
	 
 
  
  	 
	    
  	   | 
 	
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
  | 
   
  
		 |