作业帮 > 综合 > 作业

ql select 语句加inner join的一些比较复杂的问题

来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/05/05 03:07:32
ql select 语句加inner join的一些比较复杂的问题
我现在又两张表
T1
ID SCORE SEX
————————
1 5 1
2 4 0
3 7 1
表2:
T2:
ID1 ID2 DSCORE
——————----------------
1 2 1
2 3 2
T2 表是根据T1 中sex不同,不同sex之间的分数相减
然后我想用select 语句加inner join 或者 union之类的得出以下表
ID1 SEX ID2 SEX
————————————
1 1 2 0
2 0 3 1
关于这个问题 如果我update 了sex ,我吧表一中ID:2 的sex改成1,之后T2中的表也要跟着变,
也就是说ID 1,2,3 的sex全都相同所以它们之间就不能相减,从而要把这些数据删除,请问应该怎么改?

ql select 语句加inner join的一些比较复杂的问题
没听懂
你上边的是你昨天的问题,已经用select给你写过一个了
下边的意思不能相减是怎么回事?删除是怎么回事?
再问: 额~就是说我想做个触发器在T1 table, 功能是如果我update(sex) T2 表里面的东西也得跟着改变,因为T2是随着T1数据的变化而变化~因为ID1 和ID2是两个不同sex 所以才有score(为ID1 与 ID2 相减),如果update (sex),T2表也得跟着变~大概就是这个意思
再答: sex的取值范围只有0或1吗?
还有,你数据库是什么的?
再问: 是的,只有0 和1 ,我传了两张图,我做的触发器,T3 就是T2,update(sex)这里面的东西就不会写了~~啥叫数据库是什么的??? SQL SERVER?
再答: create trigger dif_tri
on t1
for update
as
if update (sex)
begin
declare @id int
select @id=id from inserted
delete from t2 where id1 in (@id) or id2 in (@id)
end这个意思?
再问: 好像也是这个意思~是不是我想的太复杂了= =~
那比如说如果sex 从 0 变成1 那T1 表中其余 sex 为0 的id 就得重新作运算然后插入T2 中, 那只要吧第一个触发器里的代码再写一遍应该就能实现吧?
再答: 只有0或1的话
如果0变成1或1变成0
那么涉及到这个id的记录就都要删除,你理解一下这句话
再问: 大致理解了~谢谢你这么耐心的回答~!!
再答: 但我这个里少了个判断,你可以自己加一下
我没判断如果原来是1还改成1的情况
再问: 好~我消化下~谢谢!!!!!