我在SQL中用了下面一条语句:
SQL.Add('select yg.bm,yg.xm,yg.kh,kq.rq,kq.sj from kq where rq>#'+strdate1+'#' +'and rq<#'+ strdate2+'#' +'and kh in (select * from yg where kq.kh=yg.kh and bm='''+ComboBox1.Text+''' and xm='''+ComboBox2.Text+''')order by sj');
提示SQL语句中的子查询不能返回多个值,只能返回一个值。
而用下面一条语句则,只能查到kh和sj两个字段,这该怎么改正呢?
SQL.Add('select yg.bm,yg.xm,yg.kh,kq.rq,kq.sj from yg,kq where rq>#'+strdate1+'#' +'and rq<#'+ strdate2+'#' +'and kq.kh=yg.kh and bm='''+ComboBox1.Text+''' and xm='''+ComboBox2.Text+''')order by sj');
我的表结构是这样的:表kq有字段:kh,rq,sj
表yg有字段:bm,xm,kh
而我是所有字段都要啊,所以得两个表能过kh联起来,因为kq这个表中字段的值是从机子上读出来的,所以没办法改!
SQL.Add('select yg.bm,yg.xm,yg.kh,kq.rq,kq.sj from kq where rq>#'+strdate1+'#' +'and rq<#'+ strdate2+'#' +'and kh in (select * from yg where kq.kh=yg.kh and bm='''+ComboBox1.Text+''' and xm='''+ComboBox2.Text+''')order by sj');
提示SQL语句中的子查询不能返回多个值,只能返回一个值。
而用下面一条语句则,只能查到kh和sj两个字段,这该怎么改正呢?
SQL.Add('select yg.bm,yg.xm,yg.kh,kq.rq,kq.sj from yg,kq where rq>#'+strdate1+'#' +'and rq<#'+ strdate2+'#' +'and kq.kh=yg.kh and bm='''+ComboBox1.Text+''' and xm='''+ComboBox2.Text+''')order by sj');
我的表结构是这样的:表kq有字段:kh,rq,sj
表yg有字段:bm,xm,kh
而我是所有字段都要啊,所以得两个表能过kh联起来,因为kq这个表中字段的值是从机子上读出来的,所以没办法改!
解决方案 »
- 请教如何取得www.google.cn里的输入框值呢?谢谢,夜等高手
- 一个笨笨的问题!请大哥帮忙啊!
- 一个简单的日期判断
- 求助高手Delphi Bpl 包的调用问题?
- 如何实现窗体中每个Edit的Text值为空!
- 怎样把DBGrid当前显示的记录打印出来!?也有可能是查询后的结果!
- 高分求助,有清楚DBF文件格式的吗?我要将数据集保存为一个DBF格式的文件,该如何操作?
- 300分求MD5算法源码和解密算法
- fastreport 如何用代码来改变纸张的打印横竖方向?!
- 怎样获取WIN2000的密码
- 怎样知道SQL server 2000的服务管理器是否正在运行?
- 请问哪里有常用的图标下载地址,谢!
SQL.Add('select yg.bm,yg.xm,yg.kh,kq.rq,kq.sj from yg,kq where rq>#'+strdate1+'#' +'and rq<#'+ strdate2+'#' +'and kq.kh=yg.kh and bm='''+ComboBox1.Text+''' and xm='''+ComboBox2.Text+''')order by sj');
~~把这个)去掉
^有错误吧
bm='''+ComboBox1.Text+''' and xm='''+ComboBox2.Text+''')order by sj');
select yg.bm,yg.xm,yg.kh,kq.rq,kq.sj from yg,kq where kq.kh=yg.kh
可不可以显示所有的字段。照理说你写的是对的呀
你用的是access吗,把sql语句放到aceess里运行看结果怎样?
select yg.bm,yg.xm,yg.kh,kq.rq,kq.sj from yg,kq where kq.kh=yg.kh