SQL语句的问题

--1selectTname,CnamefromTeacher,Course,RKwhereTeacher.Tno='10001'andCourse.Cno='100'a... --1
select Tname,Cname from Teacher,Course,RK

where Teacher.Tno ='10001'
and Course.Cno = '100'
and Teacher.Tno = RK.Tno
and Course.Cno = RK.Cno
--2
select COUNT(*) from XK
where yn = '1'
and Tno = '10001'
and Cno = '100'
--3
select COUNT(*) from XK
where yn = '0'
and Tno = '10001'
and Cno = '100'

以上3个select语句用自然语言表示:
--1.从教师表,课程表,任课表中查询教师名字其任课课程名,其中教师工号为10001,课程号为100
--2.从选课表中查询教师工号为10001,课程号为100,并且yn=1的记录条数
--3.从选课表中查询教师工号为10001,课程号为100,并且yn=0的记录条数

如果我想把后面两个select语句的查询结果,放到第1句select中一起显示,需要怎么写呢?
展开
 我来答
独一无二的高哥
推荐于2016-04-22 · 超过21用户采纳过TA的回答
知道答主
回答量:26
采纳率:0%
帮助的人:22.6万
展开全部
通过题目的意思,暂时想到一个比较简单的处理办法,不使用临时表来关联。
具体代码如下,仅供参考!
select
a.Tname
,a.Cname
,sum (case yn when '0' then 1 else '0' end) as yn0 --判断yn条件,当条件为0时,记录为1,否则为0.这样通过sum函数累加起来,得到的是yn='0'条件的总数;
,sum(case yn when '1' then 1 else '0' end) as yn1 --判断yn条件,当条件为1时,记录为1,否则为0.这样通过sum函数累加起来,得到的是yn='1'条件的总数;
from Teacher a -- 这里面的 a、b、c用来替代这些表的名称,不然显示很长且不便阅读和理解。
inner join Course b on a.Tno=b.Tno
inner join RK c on a.Tno=c.Tno
where a.Tno ='10001'
and a.Cno = '100'
group by a.Tname ,a.Cname -- 按照Tname和Cname分类显示
order by a.Tname ,a.Cname --(可选择项)按照Tname和Cname先后顺序排序显示
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2015-06-09
展开全部
我觉得这样两张表的架构很好,维护产品信息的时候很方便,便于扩展产品信息,不建议将数据直接更新数据。如果可以的话,建议新建视图:
CREATE View V_product_info
as
Select 表A.* , 表B.产品种类
From 表A
Left Join 表B
On 表A.购买产品编号=表B.产品编号

使用的时候: Select * From V_product_info

补充:你sql并没有执行啊!
在 sql = "update a set type=(select b.type from b where a.num=b.num) and date =" & Text1.Text & "" 后面加上
cn.Execute (str_sql)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式