這些SQL語句如何寫 Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiDB/html/delphi_20061215171559287.html
我用的access2000,我建了個表名為:JLGL,表裡有個欄位:Jan(數字類型)
問題1:現在我想獲得這個欄位的左邊4個不重複的數字我是這樣寫的:
select a.Jan from (select distinct Left(Jan,4) from JLGL) a 可程式說是錯的,請問這個語句怎麼寫?
問題2:我想查詢Jan欄位等於20068或者等於20069的所以資料,所以我就這樣寫了個sql語句:select * from JLGL where Jan=20068 or Jan=20069 可程式也說這個是錯的,請問該怎麼寫?
問題3:請問如何不通過條件查詢而直接獲得剛插入表裡的資料,謝謝
問題2:select * from JLGL where Jan='20068' or Jan='20069'沒有加引號
1.獲得這個欄位的左邊4個不重複的數字
select jan from jlgl where left(jan,4) not in (SELECT Left(jan,4) AS jan1 FROM jlgl GROUP BY Left(jan,4) HAVING Count(*)>1)
2.應該沒錯(數字類型不用引號),你可在access中試一下
3.好像不能
問題1:
你的第一個語句肯定是要報錯的啊,
select a.Jan from (select distinct Left(Jan,4) as Jan from JLGL) a
這樣應該就可以,也就是在Left(Jan,4)後面加上別名。
問題2:
應該是沒有錯
問題3:
好像不可以
問題3,那是不可能的。
不過,如果你的表裡有表示序列的欄位,就可以的
select * from table order by [序欄欄位] desc
第一條資料就是最新加入的。
問題3sqlserver好像有個物理rowid
在access中select * from JLBZPT where JDZQ>0 and GLZT='ZY' and len(SYBM)>0 and len(JDBM)>0 and left(YXRQ,6)='"+year+"' and JDJG='MJ'該如何寫才正確
問題2正確的是:select * from JLGL where [Jan]='20068' or [Jan]='20069'
問題3:遊標應該是指向剛插入的記錄吧(前提:插入資料後還沒有做任何操作)