以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]关于SQL查询语句求助 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=77520) |
-- 作者:扶风 -- 发布时间:2015/11/19 16:49:00 -- [求助]关于SQL查询语句求助 Forms(_frm).Visible = False Dim sql As String = "S-elect a.*,(s-elect khms f-rom {销售填写表} b where a.[xuhao]=b.[xuhao]) As [客户描述] from (s-elect {圆片陶瓷电容_独石电容料号表}.* F-rom {圆片陶瓷电容_独石电容料号表} Where jiean=True) a" Dim q As new QueryBuilder q.TableName = "电容导料历史" q.SelectString = sql q.Con-nec-tion-Name = "data" q.Build MainTable = Tables("电容导料历史") 执行的时候有如图所示的报错,但是类似的代码用内部数据源的时候能够成功执行,请问是何原因,怎么才能达到我想要的效果? [此贴子已经被作者于2015/11/19 16:58:09编辑过]
|
-- 作者:大红袍 -- 发布时间:2015/11/19 17:07:00 -- s-elect khms f-rom {销售填写表}
改成
s-elect top 1 khms f-rom {销售填写表} |
-- 作者:扶风 -- 发布时间:2015/11/19 17:42:00 -- 好了 谢谢老师 top 1 不是只会加载一行吗?为什么这里这样用都出来了? 还有一个问题想请教老师 我在后面加了一句 order by tbrq 这里tbrq是一个时间类型的字段 为什么没有按照排列 [此贴子已经被作者于2015/11/19 17:54:38编辑过]
|
-- 作者:大红袍 -- 发布时间:2015/11/19 17:56:00 -- 你的是子查询。这句话的意思是 s-elect top 1 khms f-rom {销售填写表} b
根据a表当前行的数据,去取b表的一行数据。
每次一行。 |
-- 作者:扶风 -- 发布时间:2015/11/19 18:01:00 -- 还有一个问题想请教老师 我在后面加了一句 order by tbrq 这里tbrq是一个时间类型的字段 为什么没有按照排列 |
-- 作者:大红袍 -- 发布时间:2015/11/19 18:11:00 -- 默认按照 _Sortkey 或者 _Identify 或者 第一列排序 的。
你无法控制排序 |
-- 作者:扶风 -- 发布时间:2015/11/19 18:17:00 -- 有没有什么办法对检索的结果排序 如果用 inner join呢 |
-- 作者:大红袍 -- 发布时间:2015/11/19 19:31:00 -- 以下是引用扶风在2015/11/19 18:17:00的发言:
有没有什么办法对检索的结果排序 如果用 inner join呢
检索结果排序?加载出来以后。用tables().sort不就行了?
如果不用sort,你就得动态生成 _Sortkey,因为默认是根据此列排序的。 |