這些SQL語句如何寫

來源:互聯網
上載者:User
這些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:遊標應該是指向剛插入的記錄吧(前提:插入資料後還沒有做任何操作)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.