我用的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:请问如何不通过条件查询而直接获得刚插入表里的数据,谢谢

解决方案 »

  1.   

    问题2:select * from JLGL where Jan='20068' or Jan='20069'没有加引号
      

  2.   

    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.好像不能
      

  3.   

    问题1:
    你的第一个语句肯定是要报错的啊,
    select a.Jan from (select distinct Left(Jan,4) as Jan from JLGL) a 
    这样应该就可以,也就是在Left(Jan,4)后面加上别名。
    问题2:
    应该是没有错
    问题3:
    好像不可以
      

  4.   

    不过,如果你的表里有表示序列的字段,就可以的
    select * from table order by [序列字段] desc
    第一条数据就是最新加入的。
      

  5.   

    问题3sqlserver好像有个物理rowid
      

  6.   

    在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'该如何写才正确
      

  7.   

    问题2正确的是:select * from JLGL where [Jan]='20068' or [Jan]='20069'