°´¹©Ó¦ÉÌ·ÖÅäsqlÓï¾ä - MS-SQL Server / »ù´¡Àà
ÄãºÃ£¬ÓиöÈý¸ö±í,1.ÎïÁÏÊýÁ¿±í£¬2.ÎïÁ϶ÔÓ¦¹©Ó¦ÉÌ·ÖÅä±í£¬3.ÎïÁ϶ÔÓ¦¹©Ó¦ÉÌ±í¡£
±í½á¹¹ÈçÏ£º
1±í£ºÎïÁϱàºÅ ÊýÁ¿
2±í£ºÎïÁϱàºÅ ¹©Ó¦É̱àºÅ ·ÖÅä¶î
3±í£ºÎïÁϱàºÅ ¹©Ó¦É̱àºÅ
ÏȰ´ÎïÁ϶ÔÓ¦¹©Ó¦ÉÌ·ÖÅä±í£¬Èç¹ûÔÚÎïÁ϶ÔÓ¦¹©Ó¦ÉÌ·ÖÅä±íÖÐÕÒ²»µ½¶ÔÓ¦µÄ¹©Ó¦ÉÌ£¬È»ºóÔÚÎïÁ϶ÔÓ¦¹©Ó¦É̱íÕÒ¹©Ó¦ÉÌ£¬²»ÖªÕâÑùµÄsqlÓï¾äÈçºÎд£¿Ð»Ð»£¡
ÏëҪʲôÑùµÄ½á¹û£¿×îºÃÄܸøµã²âÊÔÊý¾ÝºÍ²âÊÔ½á¹û¾ÙÀý˵Ã÷¡£
IF NOT EXISTS (SELECT ¹©Ó¦É̱àºÅ from ±í2 WHERE ÎïÁϱàºÅ=@ID)
SELECT ¹©Ó¦É̱àºÅ from ±í3 WHERE ÎïÁϱàºÅ=@ID
SQL code:
select
a.ÎïÁϱàºÅ,
a.ÊýÁ¿,
b.¹©Ó¦É̱àºÅ,
b.±í±ð
from
±í1 a
left join
(select ÎïÁϱàºÅ,¹©Ó¦É̱àºÅ,2 as ±í±ð from ±í2
union
select ÎïÁϱàºÅ,¹©Ó¦É̱àºÅ,3 from ±í3) b
on a.ÎïÁϱàºÅ = b.ÎïÁϱàºÅ
...
IF NOT EXISTS (SELECT ¹©Ó¦É̱àºÅ from ±í2 WHERE ÎïÁϱàºÅ=@ID)
begin
SELECT ¹©Ó¦É̱àºÅ from ±í3 WHERE ÎïÁϱàºÅ=@ID
end
¿´¿´Ê²Ã´½á¹û
SQL code:
select a.ÎïÁϱàºÅ,a.ÊýÁ¿,isnull(b.¹©Ó¦É̱àºÅ , c.¹©Ó¦É̱àºÅ) ¹©Ó¦É̱àºÅ,b.·ÖÅä¶î
from ÎïÁÏÊýÁ¿±í
left join ÎïÁ϶ÔÓ¦¹©Ó¦ÉÌ·ÖÅä±í b on a.ÎïÁϱàºÅ=b.ÎïÁϱàºÅ
left join ÎïÁ϶ÔÓ¦¹©Ó¦ÉÌ
Ïà¹ØÎÊ´ð£º
ÎÒÓÐÒ»¸ö±í£¬½á¹¹ÊÇÕâÑù¡£
ת³ö µ¥Î» תÈ뵥λ ±ÊÊý ½ð¶î
date(Ö÷) outid(Ö÷) inid(Ö÷) num amt
2009 1 2 1 500 Ϊ 1 µ¥Î» ÔÚ2009Ä ......
¿ÉÄÜÒòΪ¹¤×÷µÄÔÒò ½Ó´¥Êý¾Ý¿âÕâ¿é±È½ÏÉÙ£¬Ö®Ç°¶¼ÊÇ×ö³ÌÐòÕâ¿é£¬Êý¾Ý¿âÕâ¿é¶¼ÓÐרÃŵÄÈËÀ´×ö ·Ö¹¤¶¼ºÜÃ÷ϸ ËùÒÔ¶ÔÊý¾Ý¿âÕâÒ»¿éÍêÈ«²»Á˽⡣ǰ¶Îʱ¼ä È¥ÃæÊÔÁ˼¸¼Ò¹«Ë¾ ¼¸ºõ¶¼ÊÇÔÚÊý¾Ý¿âÕâ¿é¹ÒµôµÄ Á¬¸ö¼òµ¥µÄSQ ......
ÇëÎÊ
Ìí¼ÓÐÂÊý¾ÝÔ´->Êý¾Ý¿â->Ìí¼ÓÁ¬½Ó
Õâ¸ö½çÃæÏ£¬Êý¾ÝÔ´Ñ¡Ôñ£ºMicrosoft SQL Server (SqlClient)£»
·þÎñÆ÷Ãû£º
Ó¦¸ÃÐ´Ê²Ã´ÄØ£¿
ÓÐËÖªµÀ£¿¶àл¸÷λ£¡£¡
Äãµ½µ×ÊÇÒªÁ¬mysql»¹ÊÇmssql£¿
ÒýÓÃ
ÇëÎÊ
......
1¡£ÔõÑùʹxp_cmdshellÄÜÍêÕûÊä³ö³¬¹ý255¸ö×Ö·ûµÄ×Ö·û´®¡£
2¡£select ʱ£¬¼ìË÷ËÙ¶ÈÊÇÓëfromºóµÄ TABLE˳ÐòÓйأ¬»¹ÊÇÓëwhereÌõ¼þµÄ˳ÐòÓйØ(TABLEÊý¾Ý¶àÉÙ )
ÔÚϵͳÊôÐÔÉ趨ÀïÓиöÑ¡Ïî,¿ÉÒÔÐ޸ĵ¥×Ö¶ÎÊä³ö×ÖÊýÏÞÖÆ. ......
ÎÒ¾õµÃmysqlºÍsqlserverÓй²Í¬µÄµØ·½£º
ÓиöÎÊÌâÊǹØÓÚ±íµÄËøÎÊÌ⣺
½ø³ÌA ½ø³ÌB
select * from user where id in lock share mode£¨¹²ÏíËø)
&nb ......