select a.ne_id,
a.related_ne1,
a.related_type1,
a.parent_ne_id,
a.parent_ne_type
from tcc_ne_snap a
where a.ne_type=600
and a.compress_date='2012-9-25'
and a.related_type1=7101;24号和25号的a.related_ne1,a.related_type1, a.parent_ne_id, a.parent_ne_type这几个字段的值不一样。在oracle中,如何将9月24日的这几个字段的数据更新成和25日相同的值?
怎么写SQL语句?
谢谢各位啦!
a.related_ne1,
a.related_type1,
a.parent_ne_id,
a.parent_ne_type
from tcc_ne_snap a
where a.ne_type=600
and a.compress_date='2012-9-25'
and a.related_type1=7101;24号和25号的a.related_ne1,a.related_type1, a.parent_ne_id, a.parent_ne_type这几个字段的值不一样。在oracle中,如何将9月24日的这几个字段的数据更新成和25日相同的值?
怎么写SQL语句?
谢谢各位啦!
MERGE INTO (SELECT A.NE_ID, A.RELATED_NE1, A.RELATED_TYPE1, A.PARENT_NE_ID, A.PARENT_NE_TYPE FROM TCC_NE_SNAP A
WHERE A.NE_TYPE=600 AND A.COMPRESS_DATE='2012-9-25' AND A.RELATED_TYPE1=7101) O
USING(SELECT A.NE_ID, A.RELATED_NE1, A.RELATED_TYPE1, A.PARENT_NE_ID, A.PARENT_NE_TYPE FROM TCC_NE_SNAP A
WHERE A.NE_TYPE=600 AND A.COMPRESS_DATE='2012-9-24' AND A.RELATED_TYPE1=7101) P
ON (O.NE_ID = P.NE_ID)
WHEN MATCHED THEN
UPDATE SET RELATED_NE1 =P.RELATED_NE1 ,RELATED_TYPE1 =P.RELATED_TYPE1,PARENT_NE_ID=P.PARENT_NE_ID,PARENT_NE_TYPE=P.PARENT_NE_TYPE;
UPDATE TCC_NE_SNAP A SET (A.RELATED_NE1,A.RELATED_TYPE1,A.PARENT_NE_ID,A.PARENT_NE_TYPE) =
(
SELECT B.RELATED_NE1,B.RELATED_TYPE1,B.PARENT_NE_ID,B.PARENT_NE_TYPE
FROM TCC_NE_SNAP B
WHERE B.NE_TYPE=600
AND B.COMPRESS_DATE='2012-9-25'
AND B.RELATED_TYPE1=7101
)
WHERE A.NE_TYPE=600
AND A.COMPRESS_DATE='2012-9-25'
AND A.RELATED_TYPE1=7101;