再求一SQL語句,我都暈了。。
現在有T1(tid,tdate,tmoney)和T2(sid,sdate,edate)兩張表,結構如下
表T1 | 表T2
tid tdate tmoney | sid sdate edate
001 2007/07/01 100 | 001 2007/07/01 2007/07/01
001 2007/07/02 80 | 001 2007/07/05 2007/07/06
.. .. .. | .. .. ..
002 2007/07/01 75 | 002 2007/07/08 2007/07/10
002 2007/07/02 25 | 003 2007/07/02 2007/07/05
.. .. .. | .. .. ..
現在我想修改表T1的tmoney字段
條件是T1表中的tid要等於T2表中的sid,並且T1表中的tdate要在T2表的sdate和edate之間.請問應該如何寫成SQL詞句.
先前的
Update T1 Set smoney = 要修改的值
From T1 , T2 Where T1.tid = T2.sid And T1.tdate Between T2.bdate And T2.edate
好像不行。無法判斷T2表中的多條同sid數據。
請教應該如何做?謝謝!
------解决方案--------------------Update T1 Set smoney = 要修改的值
From T1
Where exists (
select 1 from T2
where T1.tid = T2.sid
And T1.tdate Between T2.bdate And T2.edate
)