Çë½ÌÒ»ÌõSQLÐÞ¸ÄÌí¼ÓÓï¾ä - MS-SQL Server / Ó¦ÓÃʵÀý
ÓÐÁ½¸ö±íT1ºÍT2£¬
T1ÈçÏ£º
±àºÅ ÐÕÃû ÐԱ𠲿ÃÅ
001 ZZ ÄÐ ÒµÎñ²¿
002 YY Å® ¾Ïú²¿
003 XX Å® Éú²ú²¿
004 WW ÄÐ ÏúÊÛ²¿
005 ¡¡
T2ÈçÏ£º
±àºÅ ÐÕÃû ²¿ÃÅ
001 ZZ ÄÐ ÒµÎñ²¿
£¨Î޼Ǽ£©
003 XX Å® ÏúÊÛ²¿£¨²»Í¬£©
005 ¡¡
ÎÒÏë¶Ô±ÈÁ½¸ö±íÖеıàºÅ£¬
ÕÒ³öT2ÖпÕȱµÄ±àºÅ½«T1µÄÄÚÈݼÓÉÏ£¬ÒÑÓеıàºÅ¶ÔӦѡÏî¶Ô±ÈÄÚÈÝ£¬Èç¸ü¸ÄÔòT2Ò²¸ü¸Ä
¾ÍÊǸú×ÅT1µÄ±ê×¼×ߣ¬Çë½Ì´ó¼ÒÔõôʵÏÖ£¬Ð»Ð»£¡
ÊÇÒª´¥·¢Æ÷Âð?
Èç¹ûÊÇÒ»´¸×ÓÂòÂô,ÔòÈçÏÂ:
SQL code:
--1.update
update t2
set ÐÕÃû = t1.ÐÕÃû ,
²¿ÃÅ = t1.²¿ÃÅ
from t2 , t1
where t2.񅧏 = t1.񅧏
--2.insert
insert into t2 select ±àºÅ, ÐÕÃû ,²¿ÃÅ from t2 where t2.±àºÅ not in (select ±àºÅ from t1)
SQL code:
if not exists(select 1 from t1 inner join t2 where t1.񅧏 = t2.񅧏)
insert into t2(±àºÅ,ÐÕÃû,ÐÔ±ð,²¿ÃÅ) select ±àºÅ,ÐÕÃû,ÐÔ±ð,²¿ÃÅ from t1
else
update t1 set ²¿ÃÅ = t2.²¿ÃÅ from t2 where t1.±àºÅ = t2.±àºÅ
-- Ö»ÊÇÒ»´ÎÐԵģ¬Èç¹ûÒ»Ö±ÒªÕâÑù£¬Òª×ö´¥·¢Æ÷
ÎÒÊÇÓÃVC++6.0±àµÄ£¬¾ÍÏëÿ´Î°´¼üÖ´ÐÐÒ»´ÎÕ⹦ÄÜ
SQL code
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.C
Ïà¹ØÎÊ´ð£º
ÏÖÔÚÓÐÒ»¸ö²¿Ãűídept£¨²¿ÃÅÃû³Æ£¬²¿Ãźš£¡££©ÓÐÒ»¸öÈËÔ±±íemp£¨ÐÕÃû£¬ÈËÔ±±àºÅ£¬Ö°Î»£¬Ð½×Ê£¬²¿ÃÅ£©
emp±íÖеÄÄÚÈÝÊÇÕâÑùµÄ£º
a 1 ¹¤³Ìʦ 3000 Èí¼þ²¿
b 2 ÆÕͨԱ¹¤ 2000 Ó²¼þ²¿
c 3 ¹¤³Ìʦ 4000 Ó²¼þ²¿
d ......
ͨ¹ýNAME×Ö¶ÎÌõ¼þ²éѯһ¸öÊý¾Ý±í£¬¼ÙÉèÎÒÓÐ100¸öÐÕÃû£¬ÓÐÒÔÏÂÁ½¸ö·½·¨£¬
·½·¨1£º
°Ñ100¸öName ×é³ÉÒ»¸öSQLÓï¾ä£¬±ÈÈç Select * from tmp_table where Name='ÕÅÈý' or Name ='ÀîËÄ' Or ...Or Name='µÚÒ»°Ù¸öÐÕÃû'
......
Ôõô°ÑMDFÊý¾Ýתµ½MySQL£¿
ÖÁÉٵø½¼Óµ½sqlserverÉÏ
¾ßÌåÔõôŪ°¡ ÎҵıÏÒµÉè¼ÆµÄÊý¾Ý¿âÊÇ´ÓÍøÉÏdownÏÂÀ´µÄ£¿£¿
Ä㻹²»ÈçÖ±½ÓÓÃsqlserverÄØ
º¯Êý¡¢´æ´¢¹ý³Ì¶¼µÃ¸ÄÁË¡£
sqlserverûÔõôÓùý¡£Ò²Ã»Óа²× ......
select o_customer,o_price from orders having o_price >=avg(o_price)
select o_customer,o_price from orders where o_price >=(select avg(o_price) from orders)
ÎҸоõûÓÐÇø±ð°¡£¬ÔõôÔÚmysql»áÓÐ ......