ÇóÒ»SQLÓï¾ä - MS-SQL Server / »ù´¡Àà
ÓбíÈçÏÂ
a b c
001 ÊÕÈë 5000
001 ·ÑÓÃ 2000
001 ºÏ¼Æ 3000
002 ÊÕÈë 6000
002 ·ÑÓÃ 3000
002 ºÏ¼Æ 3000
003 ÊÕÈë 4000
003 ·ÑÓÃ 1000
003 ºÏ¼Æ 2000
...
ºÏ¼Æ=ÊÕÈë-·ÑÓÃ
ÇóÒ»Óï¾ä ²éÕÒ³öµ±b=ÊÕÈëʱc×ֶβ»ÕýÈ·µÄ¼Ç¼
select ²»ÕýÈ·¼Ç¼=x.a from ta x join ta y on x.ºÏ¼Æ<>y.ÊÕÈë-y.·ÑÓà where x.b='ÊÕÈë'
SQL code:
select a,sum(case b when 'ÊÕÈë' then c else -c end)
from your_table
group by a
having sum(case b when 'ÊÕÈë' then c else -c end) <> 0
SQL code:
use PracticeDB
go
if exists (select 1 from sysobjects where name='tb_a')
drop table tb_a
go
create table tb_a (a varchar(10), b varchar(10),c numeric(10))
go
insert into tb_a
select '001', 'ÊÕÈë' ,5000 union all
select '001', '·ÑÓÃ' ,2000 union all
select '001', 'ºÏ¼Æ' ,3000 union all
select '002', 'ÊÕÈë' ,6000 union all
select '002', '·ÑÓÃ' ,3000 union all
select '002', 'ºÏ¼Æ' ,3000 union all
select '003', 'ÊÕÈë' ,4000 union all
select '003', '·ÑÓÃ' ,1000 union all
select '003', 'ºÏ¼Æ' ,2000
ºÏ¼Æ=ÊÕÈë-·ÑÓÃ
ÇóÒ»Óï¾ä ²éÕÒ³öµ±b=ÊÕÈëʱc×ֶβ»ÕýÈ·µÄ¼Ç¼
select * from tb_a
;with t
as
(
select a,sum(case b when 'ÊÕÈë' then c else 0 end) [ÊÕÈë],
Ïà¹ØÎÊ´ð£º
Ö´ÐеÄ˳Ðò£º
1£©Îļþä¯ÀÀ¿ò£¨Ñ¡ÔñÎļþʹÓã©
Ñ¡ÔñºÃÎļþºó
µã»÷Ò»¸öµ¼Èë°´Å¥µÄʱºò £¬°ÑÉÏÃæÉÏ´«¿òÀïµÄcsvÎļþÒÔÒ»¸öIDΪÎļþÃû£¬ÉÏ´«µ½**/**Îļþ¼ÐÏÂ
2£©¶ÁÈ¡Õâ¸öÎļþ¼ÐϵÄcsvµÄÎļþ£¬×ª»»³Ésql
3 ......
tab1 ×Ö¶Î:billdate,goodsid,incount,inmoney,outcount,outmoney,endprice,endcount,endamt
tab2 ×Ö¶Î:goodsid,goodskind£¨ÉÌÆ·ÀàÐÍ£©
tab3 ×Ö¶Î:goodskind£¨ÉÌÆ·ÀàÐÍ£©,kindname
½á¹û£º
µÃµ½ÉÌÆ·ÀàÐÍÔÚÒ»¶Îʱ¼ä ......
1¡£ÔõÑùʹxp_cmdshellÄÜÍêÕûÊä³ö³¬¹ý255¸ö×Ö·ûµÄ×Ö·û´®¡£
2¡£select ʱ£¬¼ìË÷ËÙ¶ÈÊÇÓëfromºóµÄ TABLE˳ÐòÓйأ¬»¹ÊÇÓëwhereÌõ¼þµÄ˳ÐòÓйØ(TABLEÊý¾Ý¶àÉÙ )
ÔÚϵͳÊôÐÔÉ趨ÀïÓиöÑ¡Ïî,¿ÉÒÔÐ޸ĵ¥×Ö¶ÎÊä³ö×ÖÊýÏÞÖÆ. ......
ÏÖÔÚÓÐÒ»¸ö²¿Ãűídept£¨²¿ÃÅÃû³Æ£¬²¿Ãźš£¡££©ÓÐÒ»¸öÈËÔ±±íemp£¨ÐÕÃû£¬ÈËÔ±±àºÅ£¬Ö°Î»£¬Ð½×Ê£¬²¿ÃÅ£©
emp±íÖеÄÄÚÈÝÊÇÕâÑùµÄ£º
a 1 ¹¤³Ìʦ 3000 Èí¼þ²¿
b 2 ÆÕͨԱ¹¤ 2000 Ó²¼þ²¿
c 3 ¹¤³Ìʦ 4000 Ó²¼þ²¿
d ......
¸÷λºÃ£¬ÎÒ¸Õ°ÑÒ»¸öASPÍøÕ¾ÉèÖúÃÁË£¬Ò²ÄÜÕý³£·ÃÎÊ¡£µ«ÊÇÔÚÎÒ±¾»úÉϲ»ÄÜ´ò¿ªadmin\login.asp,ËùÒÔÎÞ·¨ÊµÏÖºǫ́¹ÜÀí¡££¨´íÎóÌáʾÎÞ·¨ÕÒµ½ÍøÒ³£¬´úÂë404£¬ÎҵIJÙ×÷ϵͳÊÇwin2000 server)
µ«ÊÇÆæ¹ÖµÄÊÇÔÚ¾ÖÓòÍøµÄÆäËû» ......