ÇóÒ»sql¡¾Ð»Ð»¡¿ - MS-SQL Server / »ù´¡Àà
ÐèÇóÈçÏ£º
a±í:
p_id status
1 0
2 0
b±í
rec_id pid purchase_qty receive_qty flag
1 1 10 10 0
2 1 1000 1000 0
3 2 25 10 1
4 2 25 25 0
ÏëµÃµ½ÈçϵĽá¹û£º
1.Èç¹ûb±íÖеÄpurchase_qty=receive_qty,ÇÒb±íÖеÄpid¹ØÁªa±íÖеÄp_id,µ±a±íÖÐËùÓÐÔÚb±íÖеÄpid=1ÇÒpurchase_qtyÓëreceive_qtyÏàͬʱ£¬¸üÐÂa±íÖеÄstatusΪ1
2.Èç¹ûB±íÖеÄflagΪ1µÄ»°£¬±íʾÕâÌõ¼Ç¼ҲÍê³ÉÁË£¬²»ÐèÒª¿¼ÂÇpurchase_qty=receive_qtyÕâÑùµÄÌõ¼þ£¬Ò²½«a±íÖеÄstatus¸üÐÂΪ1
лл´ó¼ÒÀÖ
Õâô¿ì¾Í³ÁÁË£¬up
SQL code:
update @ta
set status=1
from @ta a,@tb b
where a.p_id=b.pid
and (purchase_qty=receive_qty or flag=1)
??
SQL code:
update a±í A set status=1 where
exists(select 1 from b±í where A.pid=pid and (purchase_qty=receive_qty or flag=1))
??
SQL code:
update a set status = case when
b.purchase_qty = b.receive_qty and b.pid = 1
Ïà¹ØÎÊ´ð£º
½«Ò»¸ö±í21~30ɾ³ý£¬sqlÓï¾äÔõôд
Õâ¸öÌ«ÁýͳÁË£¬ÊÇÅÅÐòºóµÄµÚ21Ìõµ½30Ìõ¼Ç¼ɾ³ý»¹ÊÇijһÁÐÖµÔÚ21µ½30Ö®¼äµÄɾ³ý°¡£¿
21-30ÊÇʲôÒâ˼£¿×ֶεϰ¾Ídelete from table1 where col1>=21 and col1<=30
Ö¸µ ......
ÇëÎÊһϣ¬ÍâÍøÁ½Ì¨SQLSERVERʵÀýÊý¾Ý´«Ê䣬ÓÐûÓвÉÓÃÊý¾ÝѹËõºÍ¼ÓÃÜ¡£Ñ¹Ëõ±ÈÊǶàÉÙ£¬¼ÓÃÜÊÇʲô¼ÓÃÜËã·¨£¿Ïà¹ØÎĵµÄÄÀï¿ÉÒÔÕÒµ½£¿Ð»Ð»
ÎÒÒ²ÏëÖªµÀ£¡¹Ø×¢´ËÌù£¡
¹Ø×¢¡«¡«
Êý¾Ý¿â´óÅ£¶¼ÄÄÈ¥Á˰¡£¿
......
ÏÖÔÚÓÐÒ»ORACLEÖеÄSQLÓï¾ä£¬ÐèÒªÒÆÖ²µ½DB2ÖУ¬ÇëÎʸÃSQL¸ÄÈçºÎд
ORACLEÖУº
select floor(months_between(date1,date2)) from A
date1,date2·Ö±ðΪ±íÖеÄÁ½¸ö×Ö¶Î £¬¶¼ÎªÈÕÆÚÐÍ
DB2ÖÐÈçºÎʹÓÃÐ ......
ÎÒÒ»¸öÏîÄ¿£¬Óиö²åÈë²Ù×÷£¬¾ßÌåÊÇÕâÑùµÄ£º
ÎÒÓнø»õÐÅÏ¢±í¡£ÔÚ³ö»õʱѡÔñÏàÓ¦µÄ½ø»õÐÅÏ¢£¬ÊäÈëÊýÁ¿£¬Ñ¡Ôñ²¿Ãź󣬵㱣´æ°´Å¥£¬ÓÉÓÚÍøÂçÑÓʱ£¬µãÒ»ÏÂûÓз´Ó³£¬ÓÚÊÇÓû§¾ÍÓÖµãһϣ¬µ¼ÖÂÒ»´Î²åÈëÁËÁ½Ìõ¼Ç¼:
Àý£º
......
ÒÑÖªÒ»¸ö¹©Ó¦Çé¿ö±í SPJ
ÓÐÊôÐÔ ¹©Ó¦É̺ÅÂë SNO
Áã¼þºÅÂë PNO
¹¤³ÌÏîÄ¿ºÅÂë JNO
Áã¼þÊýÁ¿ QTY
ÇóÂú×ãÏÂÃæÒªÇóµÄ¹©Ó¦É̺ÅÂ룬¸Ã¹©Ó¦É̹©Ó¦¸øÄ³¸ö¹¤³ÌÁã¼þP1 µÄÊýÁ ......