兩個表recdbf和tempyf,用分組查詢某年每個月各類性質的總數。
sele tempyf.*,;
sum(iif(isnull(recdbf.日期) or at("一般",recdbf.性質)=0,0,1)) as 一般,;
sum(iif(isnull(recdbf.日期) or at("重大",recdbf.性質)=0,0,1)) as 重大,;
sum(iif(isnull(recdbf.日期) or at("特大",recdbf.性質)=0,0,1)) as 特大;
from tempyf left outer join recdbf;
on tempyf.yf=month(recdbf.日期) and year(日期)=2001;
group by tempyf.yf
問題:
1、
isnull(recdbf.日期) or at("一般",recdbf.性質)=0理解:
判斷日期中是否有NULL值,有的話回傳邏輯值1,無的話回傳0.示例檔案中的日期一般都無ISNULL,則isnull()回傳0;
at("一般",recdbf.性質)如果存在性質中,回傳1;那iif(0 or 1=0,0,1)回傳的值是1?那如果isnull()回傳值是1,at()回傳值是1,則
iif(1 or 1,0,1)回傳值還是1?
2、如果要在 recdbf中查詢非2001年的記錄,如何操作?
sele * from recdbf on year(日期)!=2001
recdbf 表結構
日期 (字符) 性質(字符)
2001.03.04 一般
2002.03.04 嚴重
2001.02.01 一般
tempyf表結構
yf(數值型)
1
2
3
4
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/271696.html
標籤:VFP
下一篇:吐槽csdn最新版本
