关于关联表查询的问题

zyqherozyqhero 2002-08-02 02:56:22
现在假设有两个表:a1和b1。a1表的字段名包括:a11,a12(其中a11是字符型,a12是日期型),b1表的字段包括:a11,b12(其中a11,b12都是字符型)。这两个表通过a11字段进行关联。我想通过SQLSelect 语句查找符合条件的记录:例如我想查找:2002年1月1日到2002年3月1日的数据:可是我用以下 SQLSelect 语句查找却无法实现。
方法1: newsql1=oldsql1+"where a1.a11='"+string(date(sle_1.text))+"' and a1.a11='"+string(date(sle_2.text))+"'"
ds_1.setsqlselect(newsql1)
ds_1.retrieve()
方法2: newsql1=oldsql1+"where a1.a1_a11='"+string(date(sle_1.text))+"' and a1.a1_a11='"+string(date(sle_2.text))+"'"
ds_1.setsqlselect(newsql1)
ds_1.retrieve()
我用的是MS SQL 数据库,其中变量oldsql已经在主窗口的open事件中获得了最初的值:oldsql1=dw_1.getsqlselect()
这样的语句该如何写。
...全文
22 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
51dream 2002-08-02
  • 打赏
  • 举报
回复
既然是一个时间段,你写条件时也应该写个>=和<=吧。
newsql1=oldsql1+"where a1.a11>='"+string(date(sle_1.text))+"' and a1.a11<='"+string(date(sle_2.text))+"'"
ds_1.setsqlselect(newsql1)
ds_1.retrieve()

再就是将newsql1显示出来,看看是否符合SQL语法,如果符合则把它拿到可以执行SQL语句的工具中执行一下看看,是否有结果。
super_jack 2002-08-02
  • 打赏
  • 举报
回复
去掉单引号即可,日期不要连成字符串
super_jack 2002-08-02
  • 打赏
  • 举报
回复
newsql1=oldsql1+"where a1.a11="+string(date(sle_1.text))+" and a1.a11="+string(date(sle_2.text))
ds_1.setsqlselect(newsql1)
ds_1.retrieve()

1,075

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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