SELECT MAX(PZID) pzid from cypz 语句不对吗?

langjie 2005-07-05 05:13:49
SELECT MAX(PZID) pzid from cypz 语句不对吗?
cypz是数据表,pzid是其中的一个字段
...全文
307 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
todouwang 2005-11-18
  • 打赏
  • 举报
回复
语法是对的,
SELECT MAX(PZID) pzid from cypz
查询后,pzid作为MAX(PZID)结果的别名显示
刘慧谦 2005-11-18
  • 打赏
  • 举报
回复
SQL Server中*表示一个字符,%表示任意字符
yhcustc 2005-11-18
  • 打赏
  • 举报
回复
好了,总找到什么原因了,Access数据库他本身支持 like '001002*',如果同把这个sql语句通过ado传递Access数据库就不是like '001002*'本身直接执行结果就不一样了恰恰相反,所以通过ado传递like '001002%'就等于在Access本身执行的like '001002*'。也就是通过ado和不经过ado的like语句的通配符是不一样的。
ccoolclouds 2005-11-17
  • 打赏
  • 举报
回复
包含
zqdby 2005-11-17
  • 打赏
  • 举报
回复
编码 like '001002*' 是什么意思?
应该是
编码 like '001002%'吧?
yhcustc 2005-11-15
  • 打赏
  • 举报
回复
我也遇到这样的问题了,不知道怎么解决,其实大家不用追究sql语句,sql语句是对的,在Access查询视图是可以查询到的,但是就是adoquery1.fieldbyname('pzid').asstring;
或者是adoquery1.fiels[0].asstring;取到的值都是空的,判断adoquery1.eof/bof都是为false说明纪录不为空。不到大家有没有遇到类似的问题。

举例:
Access 数据库
表名:table1
--------------------------------------------------------
编号 一级编码 二级编码 其它信息
--------+----------------+---------------+--------------
0010023 | 001 | 002 | 001003002
--------+----------------+---------------+--------------
0030028 | 004 | 002 | 222212312
--------+----------------+---------------+--------------
0030021 | 005 | 008 | 222212312
--------+----------------+---------------+--------------
0030024 | 003 | 007 | 222212312
--------+----------------+---------------+--------------
0030023 | 003 | 007 | 222212312
--------------------------------------------------------
我的sql语句是
select max(编号) as test from table1 where 一级编码='001' and 二级编码='002'
adoquery1.Fields[0].asString记录集不为空时可以得到值;

但是如果我增加条件
select max(编号) as test from table1 where 一级编码='001' and 二级编码='002' and 编码 like '001002*'
记录集不为空得到值是空的,不知道什么原因。
langjie 2005-08-08
  • 打赏
  • 举报
回复
SELECT MAX(PZID) AS PZID from cypz
shenlanzz 2005-07-05
  • 打赏
  • 举报
回复
或者
var
aa:string;
begin
with adoquery1 do
begin
close;
sql.clear;
sql.add(SELECT MAX(PZID) pzid from cypz);
open;
end;
aa:=adoquery1.fieldbyname('pzid').asstring;
end;
shenlanzz 2005-07-05
  • 打赏
  • 举报
回复
SELECT MAX(PZID) from cypz
查询出来的PZID就是最大的了,
lijinghe1 2005-07-05
  • 打赏
  • 举报
回复
看什么数据库了,我记得有些会说循环引用,起不一样的列名,或fields[0].asstring访问
heyixiang 2005-07-05
  • 打赏
  • 举报
回复
检查字段类型
heyixiang 2005-07-05
  • 打赏
  • 举报
回复
access也支持Max()函数
langjie 2005-07-05
  • 打赏
  • 举报
回复
不行啊,还是不能返回值,我用的是access数据库
paranoia190 2005-07-05
  • 打赏
  • 举报
回复
SELECT MAX(PZID) pzid from cypz
不习惯中间不写AS
paranoia190 2005-07-05
  • 打赏
  • 举报
回复
SELECT MAX(PZID) AS [PZID] from cypz
梅青松 2005-07-05
  • 打赏
  • 举报
回复
对的
langjie 2005-07-05
  • 打赏
  • 举报
回复
那我怎么返回pzid字段的值啊
paranoia190 2005-07-05
  • 打赏
  • 举报
回复
SELECT MAX(PZID) from cypz

2,498

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧