俩表间的查询问题求助

问题描述

在做一个网上征订教材系统,其中有教师和系主任用户。想在系主任登陆时查询教师们登记的教材时,只能查询到本系的教师登记的教材。其中有两张表,gerenxinxi表包含了所有用户的信息。其中有username和suozaixeyuan两列,jiaocaizhengding表中有shoukejiaoshi列。也就是说教师名和系主任名都显示在username列中了,教师名还显示在shoukejiaoshi列中。现在做到了系主任进去后能查到所有教师的教材,但是我只想查本系的教师的教材,那个button事件就是说我按三个条件查询的,但是也是查出的所有符合的,我只想查本系符合的,求指点如何改啊protectedvoidPage_Load(objectsender,EventArgse){if(!IsPostBack){stringsql;sql="select*fromjiaocaizhengdingorderbyiddesc";getdata(sql);}}privatevoidgetdata(stringsql){DataSetresult=newDataSet();result=newClass1().hsggetdata(sql);if(result!=null){if(result.Tables[0].Rows.Count>0){DataGrid1.DataSource=result.Tables[0];DataGrid1.DataBind();inti=0;intk=0;for(i=0;i<result.Tables[0].Rows.Count;i++){k=k+int.Parse(result.Tables[0].Rows[i]["zhengdingshuliang"].ToString().Trim());}Label1.Text="以上数据中共"+result.Tables[0].Rows.Count+"条,共计数量"+k.ToString().Trim()+"本";}else{DataGrid1.DataSource=null;DataGrid1.DataBind();Label1.Text="暂无任何数据";}}}protectedvoidButton1_Click(objectsender,EventArgse){stringsql;sql="select*fromjiaocaizhengdingwhere1=1";if(bh.Text.ToString().Trim()!=""){sql=sql+"andjiaocaimingchenglike'%"+bh.Text.ToString().Trim()+"%'";}if(mc.Text.ToString().Trim()!=""){sql=sql+"andkechengminglike'%"+mc.Text.ToString().Trim()+"%'";}if(shoukejiaoshi.Text.ToString().Trim()!=""){sql=sql+"andshoukejiaoshilike'%"+shoukejiaoshi.Text.ToString().Trim()+"%'";}sql=sql+"orderbyiddesc";getdata(sql);}

解决方案

解决方案二:
改变查询条件
解决方案三:
增加一个表示本息的条件
解决方案四:
现在做到了系主任进去后能查到所有教师的教材,但是我只想查本系的教师的教材,那个button事件就是说我按三个条件查询的,但是也是查出的所有符合的,我只想查本系符合的,求指点如何改啊gerenxinxi表中加属于系部字段主任登录后先找所在系通过系部ID查找出所在系的所有教师在跟你的jiaocaizhengding表连接select*fromgerenxinxiainnerjoinjiaocaizhengdingbona.教师Name=b.教师name但是最好用ID来做列不要用名字判断因为名字有可能重复。
解决方案五:
引用1楼xuexiaodong2009的回复:

改变查询条件gerenxinxi表中加属于系部字段

~+++1

时间: 2024-08-26 21:29:08

俩表间的查询问题求助的相关文章

sql server实现在多个数据库间快速查询某个表信息的方法

本文实例讲述了sql server实现在多个数据库间快速查询某个表信息的方法.分享给大家供大家参考,具体如下: 最近出来实习,所在公司的服务器有十几个数据库,为了方便根据某个数据表的  表名  快速找到对应的数据库,又复习了一下游标的知识,写了下面这个sql代码,方便自己的工作. 1.先了解一下系统存储过程和系统表的使用,简单介绍一下我用到的几个系统存储过程(资料参考网络) use master --切换到系统数据库,因为下面用到的系统存储过程和系统表大部分存在于该数据库 go exec sp_

mysql复杂查询语句求助

问题描述 mysql复杂查询语句求助 现在有一个表a,里面有一列为time,jsp中有两个变量fnum(本页首数),lnum(本页尾数) ,如何实现按照time倒序排列并且每页在fnum,lnum之间呢 select * from a where time limit fnum,lnum order by time desc??这样感觉不大对...求大虾解答 解决方案 select t.* from (select * from a where time limit fnum,lnum) t o

order-mysql查询语句求助 限定输出数和排序方式

问题描述 mysql查询语句求助 限定输出数和排序方式 从表a中倒叙输出id从20-11的记录这句话怎么写 select * from a where id limit 10,20 order by id desc 这样不对 order和limit无法同时使用...到底要怎么写啊 求大神指点 解决方案 select t.* from (select * from a where id limit 10,20) t order by t.id desc ; 解决方案二: select * from

mysql查询语句问题-mysql查询语句求助 关于IF ELSE

问题描述 mysql查询语句求助 关于IF ELSE 写一个sql语句查询一个表,当这个sql语句查询没有查询到结果(这个表中没有数据)则执行另外一个sql语句查询另外一个表. 两个表中的数据是相克的,例如:一个表中有了一条外键id为1的数据,则另外一张表中不能有外键id为1的数据.两个表的外键指向了另外一张表的id. 希望高手能解答下!!!!! 万分感谢!!!!!!! 解决方案 这个直接用sql语句好像还不好控制 最好是在java代码里面进行控制 解决方案二: mysql的语法不太懂,我写的是

sql-关于单表SQL存储过程查询。分页条数,当前页码,总条数的问题

问题描述 关于单表SQL存储过程查询.分页条数,当前页码,总条数的问题 我实现PUB_AREA 表的数据查询, 上面是我写的调试, 指出在下面and处报错,无布尔类型,不知道到底哪里错了- - declare @TotalNum intexec PUB_AREA_SelectAREACITYByHsfSearchss ''101@TotalNum outputselect @TotalNumalter PROCEDURE [dbo].[PUB_AREA_SelectAREACITYByHsfSe

sql:除非另外还指定了 TOP 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询

执行sql语句: select * from ( select * from tab where ID>20 order by userID desc ) as a order by date desc 逻辑上看着挺对 但是报错: 除非另外还指定了 TOP 或 FOR XML,否则,ORDER BY 子句在视图.内联函数.派生表.子查询和公用表表达式中无效. 只要我们在嵌套子查询视图里面加入: top 100 percent 即可 select * from ( select top 100 p

MySQL将表a中查询的数据插入到表b中

 MySQL将表a中查询的数据插入到表b中 如果表b存在 1 <code class="sql"><code class="sql"><code class="sql">insert into b select * from a;</code></code></code> 如果表b不存在 1 <code class="sql"><code

解析mysql中:单表distinct、多表group by查询去除重复记录

单表的唯一查询用:distinct 多表的唯一查询用:group bydistinct 查询多表时,left join 还有效,全连接无效, 在 使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用 它来返回不重复记录的条数,而不是用它来返回不重复记录的所有值.其原因是distinct只能返回它的目标字段,而无法返回其它字段,用 distinct不能解决的话,我只有用二重循环查询来解决,而这样对于一个数据

azure-Azure 表服务 如何查询一组行健

问题描述 Azure 表服务 如何查询一组行健 如何在Azure的表服务中 在一个分区中根据行健来取出一组数据 解决方案 不知道喔,,,,,,,,,,,,,,,,,,,,,,,,,,, 解决方案二: 不知道喔,,,,,,,没学过这个啊 解决方案三: 您好, 只要知道您的rowkey 和patitionkey,您可以轻松的从Azure table storage中获取出来,请看下面这段代码: TableQuery.CombineFilters( TableQuery.GenerateFilterC