向各位高手请教,一个简单的SELECT问题。

ntcxh 2008-09-09 10:58:52
一个表单上有一个query与一个table,其中内容大致如下 :
query:
字段a,字段b,字段c,
1 abc 256
2 cad 123
3 ddd 256
4 xyz 256
table:
字段1,字段2,字段3,
1 ddaf 123
2 adfw 256
3 adfaf 234
现在写一条语句,要求:字段c中等于字段3的所有记录;
如:select * from 某表 wher (字段c = table.字段3的当前记录值(如256)),query返回结果如下:
字段a,字段b,字段c,
1 abc 256
3 ddd 256
4 xyz 256
请问上面的where后面的语句该怎么写?
...全文
61 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
路过路人乙 2008-09-09
  • 打赏
  • 举报
回复
哦,主从表关系

你肯定需要选中当前记录吧..用的GRID之类的?

那就

select * from 某表 where 字段c = '"+ADOTable->FieldByName("ziduan3")->AsString+"'";
xabcxyz 2008-09-09
  • 打赏
  • 举报
回复
概念性错误,sql查询是数据库服务器查询,不是本地控件查询。

新建一个 query
query->sql->Text = " select * from table对应的数据库 where 字段c = " + IntToStr(当前记录值);
query->Open();
ntcxh 2008-09-09
  • 打赏
  • 举报
回复
上面的问题已经解决,现在再向大家请教,如果在此表单上再增加两个时间控件(分别:time1,time2),要求上面的where后面再增加要求时间在time1与time2之间,用between and,请问如何写?多谢。
whomin 2008-09-09
  • 打赏
  • 举报
回复
建立起master-detail关联来搞吧
wtu_3205017 2008-09-09
  • 打赏
  • 举报
回复
query->sql->Text = " select A.字段a, A.字段b, B.字段3 from 表1 as a \
left join 表2 AS b on(a.字段C==B.字段3)";
query->Open();
fangsp 2008-09-09
  • 打赏
  • 举报
回复
query->sql->Text = " select * from table对应的数据库 where 字段c = " + IntToStr(当前记录值); 
query->Open();

1,178

社区成员

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

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