ÇóÒ»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
Ïà¹ØÎÊ´ð£º
Ö±½ÓÆô¶¯ µãÁ˵ÈÒ»»á¶ù¾Íû·´Ó¦ÁË È¥·þÎñÄÇÀïÆô¶¯»á³öÏÖÈçÏÂÌáʾ
³öÏÖ¡°±¾µØ¼ÆËã»úÉϵÄMSSQLSERVER·þÎñÆô¶¯ºóÓÖÍ£Ö¹ÁË¡£Ò»Ð©·þÎñ×Ô¶¯Í£Ö¹£¬Èç¹ûËüÃÇûÓÐʲô¿É×öµÄ
È»ºó»¹ÓÐʲôʲô²»´æÔÚ
......
ÎÒµÄTblworkbill±íµÄÊý¾ÝÈçÏÂ:
id workbillno ..................
1 1
2 6
3 a1
4 c2
5 2
6 aa
7 ......
pl/SqlÈçºÎ²éѯ×Ö·û´®°üÀ¨%,
ÀýÈç:TABLE a
columnA
'222'
'33%44'
ÈçºÎ²éѯ±íaÖÐcolumnA×Ö¶ÎÖÐÄÄЩÐаüº¬'%'
лл
select * from a
where columna like '%/%%' escape '/'
UP
SELECT * from a ......
³¡¾°ÈçÏ£º
¿Í»§°Ñ±¸·ÝºÃµÄÊý¾Ý¿â£¬·¢¸øÎÒ£¬ÎÒÔÚ±¾»ú»¹Ôºó£¬ÔËÐÐдºÃµÄ´æ´¢¹ý³Ì£¬±È½Ï¿ì£¬²¢ÇÒÔÚʵʩÄDZßÔËÐÐͬÑù±È½Ï¿ì¡£µ«Êǵ±ÊµÊ©ÔÚ¿Í»§ÄDZßÔËÐеÄʱºòËٶȾͷdz£µÄÂý£¬Ê±¼ä³¬³öÁ˳ÌÐòµÄʱ¼äÏÞÖÆ¡£Ô¶³ÌÔÚ¿Í»§ÄÇ ......
ÒÑÖªÒ»¸ö¹©Ó¦Çé¿ö±í SPJ
ÓÐÊôÐÔ ¹©Ó¦É̺ÅÂë SNO
Áã¼þºÅÂë PNO
¹¤³ÌÏîÄ¿ºÅÂë JNO
Áã¼þÊýÁ¿ QTY
ÇóÂú×ãÏÂÃæÒªÇóµÄ¹©Ó¦É̺ÅÂ룬¸Ã¹©Ó¦É̹©Ó¦¸øÄ³¸ö¹¤³ÌÁã¼þP1 µÄÊýÁ ......