sql:='select * from 班级信息表';
sql:=sql+'where id like ''''+(select id from 专业信息表)+%+'''''; adoquery2.Close;
adoquery2.SQL.Clear;
adoquery2.SQL.Add(sql);
adoquery2.Open;
sql:=sql+'where id like ''''+(select id from 专业信息表)+%+'''''; adoquery2.Close;
adoquery2.SQL.Clear;
adoquery2.SQL.Add(sql);
adoquery2.Open;
sql:=sql+'where id like '''+(select id from 专业信息表)+'%'' ';
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
adoquery2.Close;
adoquery2.SQL.Clear;
adoquery2.SQL.Add(sql);
adoquery2.Open;
没问题早点揭帖。
其中
专业信息表.id=010101
班级信息表.id=01010101
其中前6位如果相同,表示该班级是该专业的
sql:=sql+'where id like ''''+(select id from 专业信息表)+%+''''';
---------------------------
此处能肯定返回一条记录吗?否则语句不对不知道你要那种结果!
sql:='select * from 班级信息表 where id in (select id from 专业信息表)';strid := edit.text;
sql:='select * from 班级信息表 where id in (select id from 专业信息表 where id like '''+strid+'%'')';
sql := 'select * from 班级信息表 where id like ''+editid.text+'%''';
---------------------------
此处能肯定返回多条记录如果把like 改为exists,就不能用通配符了