以文本方式查看主题 - 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=157339) |
||||
-- 作者:abcdzabcdz -- 发布时间:2020/10/12 19:44:00 -- sql问题 如何使用sql查询语句生成《班级安排表》中的“考室”列数据? 想使用sql查询语句生成《班级安排表》中的“考室”列数据,希望在《考室考号》表中查找出考室数据,条件是“准考证号”相同,且《考室考号》中“类别”列的值必须包含“物”字(第一次使用sql语句,不要见笑啊)。谢谢! |
||||
-- 作者:有点蓝 -- 发布时间:2020/10/12 20:27:00 -- “准考证号”相同这个没看懂是什么意思? Select * from {考室考号} where 类别 Like "%物%" order by 准考证号
|
||||
-- 作者:abcdzabcdz -- 发布时间:2020/10/12 20:41:00 --
|
||||
-- 作者:abcdzabcdz -- 发布时间:2020/10/12 20:51:00 -- 在班级安排表中,若用一个准考证号到考室考号表中去查,则一个准考号对应5条记录,现又限制这记录类别包含“物”,这样一个准考号在考室考号中只能查到一条记录。 |
||||
-- 作者:有点蓝 -- 发布时间:2020/10/12 21:37:00 -- 好像说的很有道理,但是我还是您不知道到底要做什么。 2楼的sql有没有效果?如果没有,具体有什么问题?
|
||||
-- 作者:abcdzabcdz -- 发布时间:2020/10/13 8:58:00 -- 谢谢有点蓝版主!您看这个易表公式就明白了:FindText("生成考室考号","考室","准考证号","=",[准考证号],"类别","Instr","物")。这是《班级安排表》考室列从《生成考室考号》中取数的一个刷新公式。 |
||||
-- 作者:abcdzabcdz -- 发布时间:2020/10/13 8:59:00 -- FindText在指定的表、指定的列中查找指定内容,并返回符合条件的行中指定列的内容。 语法: 可以设置多个比较条件,从第三个参数开始,每三个参数组成一个比较条件。如果比较方式选择的是Instr,则进行包含查询;如果比较方式选择"Like",则可以在比较值中使用通配符进行类似查询。 FindText的返回值类型根据列类型确定,如果找到符合条件的行,那么返回值与该列类型相同。例如对于数值列,返回的是0、2,字符列返回的是"0"、"2",如果没有找到符合条件的行,将返回0(数值列、逻辑列、时段列)或者""(字符列或其它类型的列)。 例子: FindText("订单","数量","客户","=","CS01","产品","=","PD01") FindText("订单","数量","客户","=","CS01","产品","=","PD01",2) 利用FindText函数,我们可以在不建立表间关联的情况下引用其他表中有关联的数据。例如订单表和产品表都包括品名、规格、单价等数据,而产品表已经录入所有的品名、规格和单价,我们希望在订单表中只需输入品名和规格,单价即可自动输入。为实现上述目的,我们只需将订单表中单价列的刷新公式设为:FindText("产品表","单价","品名","=",[品名],"规格","=",[规格]) |
||||
-- 作者:有点蓝 -- 发布时间:2020/10/13 9:16:00 -- 易表我完全没有用过,不懂。 就1楼实例,举例说明一下需要什么结果? 这个? Select a.*,b.考室 As B考室 from {考室考号} As a Inner join {班级安排表} As b on a.准考证号=b.准考证号 where 类别 Like "%物%" order by a.准考证号
|
||||
-- 作者:abcdzabcdz -- 发布时间:2020/10/13 9:38:00 --
|
||||
-- 作者:abcdzabcdz -- 发布时间:2020/10/13 9:43:00 -- 再次谢谢蓝版主,有您的示例,我再学习一下SQL语句,应该能够解决了。 |