|
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 |
|
回頂端 |
|
|
|
|
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
|
|