问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

再次求解数据库的sql语句问题,这是两张表的关联问题,有点小难度的...

发布网友 发布时间:2024-01-21 13:15

我来回答

5个回答

热心网友 时间:2024-10-26 18:49

select
s.sDNum,
isnull(sum(d.stuNum),0)stds, --计算每个宿的入住生数
s.spuwei - isnull(sum(d.stuNum),0) freeNum --余床位
from sushe s
left join student d on s.sLNum=d.stuDNum --联表条件:宿舍号
group by s.sDNum,s.spuwei --分类字段,spuwei放在这里是为了做减法时要用到。
---------------------
你的空铺铺位的分配,是从1-4顺序发放,还是可以让学生自行挑选?
如果你要统计具体到某个铺位,而又不想在数据库生成铺位表,那就需要在学生分配表里加一个字段[铺位].
你在查询的时候,就需要临时的生成一张表,实际是一个1-4的序列,让它与宿舍表先联接,这样你的查询主表就变成宿舍_铺位表(或以考虑用视图),然后与学生分配表关联时on的条件加上铺位=铺位,最后如果是统计,与上面的代码逻辑一致,如果是要查铺位情况,同样联表查询就行了,只是少了分类汇总,改为在查询中添加相应的条件.

热心网友 时间:2024-10-26 18:45

空寝室
select slnum,sdnum
from sushe
where not exists (select * from student where stulnum = shushe.slnum and studnum = sushe.sdnum)
空铺
select sushe.sdnum
from sushe,student
where sushe.slnum = student.stulnum and sushe.sdnum = student.studnum and count(sushe.sdnum) < 4
group by sushe.sdnum

注:你的sushe表是一对多的关系,怎么让他动态变呢?
宿舍楼栋号 学生寝室号 铺位
1 101 1
1 101 2
1 101 3
1 101 4
1 102 1
……………………………………

热心网友 时间:2024-10-26 18:48

让sushe表中的spuwei动态的变为一个?
这个最好的办法是建立一个View,每次去看这个view就行了,原来的两个表不动。
如果一定要update表sushe的话,就是:
update sushe ss
set ss.spuwei = 4 - (select count(st.stunum) from student st left join sushe ss on
(st.stuLNum=ss.sLNum and st.stuDNum=ss.sDNum) where st.stuLNum=ss.sLNum and st.stuDNum=ss.sDNum group by st.stulnum st.studnum)

热心网友 时间:2024-10-26 18:46

string sql="select sushe.sDNum , count( stuNum) from student,sushe where student.sDNum=sushe.sDNum";
DataTable dd = Sqlite.link.gettable(sql);
if (dd != null&&dd.Rows.Count>0)
{
int count=4-convert.toint32(dd[1]);//count为该宿舍空余床铺
string sql1="update sushe set spuwei = "+count+" where sDNum='"+dd[0].tostring()+"'";
Sqlite.link.ExecSql(sql)1;
}

热心网友 时间:2024-10-26 18:41

如果只把2张表关联起来,先找到2个表里内容相同的字段。再用连接语句:
select 字段1 ,字段2,字段3 from tab1 t1 join tab2 t2 where t1.学生号=t2.学生学号
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
人民币贬值对人民有什么影响 长春市办理设立个人律师事务所需要什么材料? 学生签证的延期都需要以下材料: 米3手机套彩绘小米3彩膜 骑马与砍杀光明与黑暗泡菜编队方法 陈染相关作品介绍 万紫千红是指什么生肖,精准已答落实 十二生肖谁是万紫千红 手机里带的网络电视怎么联接到笔记本电脑上看呢? ...手机,电脑连上网了,智能电视能连上看电视吗,怎样能看智能电视_百度... 如何用sql语句查询宿舍可用床位 一年改2次的办法 监察部门是做什么工作 1克复合肥兑多少水 使用肥料的时候,要区分几克几克,你们是怎么掌握的 如何一年内强制二次修改 孩子书法比赛作品取什么名字 书法参赛作品名称写什么 请问属相是按农历还是新历计算? 如何删除苹果手机系统更新 苹果手机系统更新怎样删除? 事后抓嫖是上门还是电话 松下伺服电机驱动器上电后自动运行,且面板有示数变化,像是干扰。该怎么... ysl镜面唇釉103什么色 ysl金属哑光唇釉102 YSL小银条101什么色 英语the zero article怎么翻译? necessary是什么词性 necessary是什么意思?必需的吗? necessary是什么词性?后跟什么词性 necessary是什么词? 一起玩神途手游 辉县碧桂园江山印一期有几栋 如东碧桂园十里江山地址在哪里? 开封碧桂园江山赋地址在哪里? 为什么说AI机器人不可能有意识呢? 未来机器人会产生自我意识吗? 未来机器人能有思想意识吗 自然拼读有几个字母组合? 为什么男生普遍都不喜欢自己的女朋友打扮的很性感? 男生为什么不允许自己的女朋友太暴露? 金华联利文澜苑在哪里? 金华联利文澜苑多少钱一平方? 金华联利文澜苑地址在哪里? 金华联利文澜苑在什么位置? 碳酸钙维d3元素片20岁左右的男孩吃好吗 这种钙片适不适合青少年吃 联想(Lenovo) G50-80AT 14英寸 i5-5200u 可以安装xp或者windo 我国将如何收回南沙,详细点 现在中国的岛礁都收复了吗? Obolts蒸汽热敷眼罩怎么样?