数据库查询问题!!急!急! (100分)

  • 主题发起人 主题发起人 ljbXS
  • 开始时间 开始时间
L

ljbXS

Unregistered / Unconfirmed
GUEST, unregistred user!
q:=formatdatetime('mm"/"dd"/"yyyy',DateTimePicker1.Date);
我在写一个海鲜投标系统,有好多人同是竟价好多海鲜,选出每种价格最底的竟标人,
显示字段有:编号、 品名、 日期、价格、 姓名 、 要求
我已经把这些都放在一个表中。
query1.SQL.Add('select min(单价)');
query1.SQL.Add('from date/huo.db');
query1.SQL.Add('group by 编号');
如果这样只能显示;编号;单价 如何显示全部;
query1.SQL.Add('select *');
query1.SQL.Add('from date/huo.db');
query1.SQL.Add('where (单价 in');
query1.SQL.Add('(select min(单价) from DATE/huo.db');
query1.SQL.Add('group by 品名))');
如果这有时是数据对,有时有几个品名没有选出最底价,价格高也在
 
那些乱码是什么东东啊!
 
用sql.execsql
呵呵
 
注释看不懂但是我猜, 原因是变量r是拼成的字符串,出错的原因是字符串超长。
 
你在写天书
 
我不用r还是错
 
应该把R放在子查询里面:
query1.SQL.Add('(select min(单价) from DATE/huo.db where ' + R);
因为你如果把它放前面的话,过滤时先把两个日期之间的记录找到
然后再把整张表中的最小单价找到,此时找到的最小单价就有可能不在这个日期之间了
所以你的结果是错的。
 
在不同的数据库的SQL中,日期时间类的表达方式是不同的。
查一查日期的表示方式。
 
我是同一天的记录
 
把R放在最后还是一样
 
把下面这几句改成这样试一试:
query1.SQL.Add('where'+r+'and (品名,单价 in'); //注意--增加了对品名的处理
query1.SQL.Add('(select 品名,min(单价) from DATE/huo.db');
query1.SQL.Add('group by 品名))');
我想应该可以的,因为你原来没有按照品名来过滤,
所以有品名不同但单价与你选出的最小单价相同的数据被选了出来,导致不正确。
 
这样程序出错请你在帮帮我
 
query1.SQL.Add('where'+r+'and (品名,单价[red])[/red] in'); //注意--增加了对品名的处理
query1.SQL.Add('(select 品名,min(单价) from DATE/huo.db');
query1.SQL.Add('group by 品名))');

或者
query1.SQL.Add('where'+r+'and 单价='); //注意--增加了对品名的处理
query1.SQL.Add('(select 品名,min(单价) from DATE/huo.db a ');
query1.SQL.Add('where a.品名=DATE/huo.db.品名))');

 
程序还是错
 
q:=formatdatetime('mm"/"dd"/"yyyy',DateTimePicker1.Date);
w:=formatdatetime('mm"/"dd"/"yyyy',DateTimePicker2.Date);
form6.table1.close;
r:='(日期>=Cast('+''''+q+''''+'as date) and 日期<=Cast('+''''+w+''''+'as date))';
改为
q:=formatdatetime('yyyy-m-d',DateTimePicker1.Date);
w:=formatdatetime('yyyy-m-d',DateTimePicker2.Date);
form6.table1.close;
r:='(日期>=Cast('+''''+q+''''+'as date) and 日期<=Cast('+''''+w+''''+'as date))';
 
程序没有报错但是找不到记录
 
可能是你的日期过滤有问题.
现在SQL explore中把SQL调试通过在说
 
但是我不通过日期也就是把去掉也一样
 
看你的另外一个问题,我给你写的SQL,调试一下,看行不行?
 
你的表名字怪怪的
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部