这个是考察你的not EXISTS 是否熟练掌握。
正确的语句如下:select * from v_sale_DTL a where not EXISTS (select saleno,rowid from u_sale_dtl_sy where saleno=a.saleno and rowid=a.rowid)
注意:
①第一:from那里定义了a表,not EXISTS 里面的from不需要再引用a表,条件里面可以直接使用a表。
②第二:not EXISTS 里面,需要哪些条件select哪些条件就行,和正常的select用法一模一样。写好以后,意思就是查询a表,除了这些数据以外。
SQL不能做这样的逻辑判断吧,应该使用java语言或者其他语言来控制判断吧,设置一下多表关系,然后在后台读出做判断,在通过使用hibernate关联关系,把表设成2个关联的对象。。。当你判断是需要增加的时候,把两个对象互相加到对方的对象中就可以(要注意的是在对象类:表中,要设定对方对象的属性),不知道能否给你带来有用的信息,望采纳。要实现两个表之间的数据的自动更新,可以采用触发器来实现,触发器的实现方法:1、A表有数据更新的时候自动更新B表:
create
or
replace
trigger
tg
after
update
on
A
for
each
row
begin
update
B
set
xx=xx
where
b.aid
=
a.id
end
/
2、A表插入数据时,B表更新数据:
create
or
replace
trigger
tgg
after
insert
on
A
for
each
row
begin
insert
B
values(xxxx)
end
/
如果不需要每条数据都跟新,只需要在每次A更新的时候更新B,可以将后面的for
each
row去掉。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)