关于sqlserver2000查询 |
尚未結案
|
chenliyan163
一般會員 發表:30 回覆:30 積分:12 註冊:2003-09-15 發送簡訊給我 |
table1 table2
bianm jine bianm jine2
1001 100 1001 1
1002 200 1002 2
1003 300 1003 3
1004 400
像以上这样两张表我想用句SQL实现 sum(table1.jine-table2.jine2) 请问如何用一句SQL实现?
我用了这样一句SQL但table1表中的编码为1004的jine就没sum进去
select sum(jine1-jine2) from table1,table2 where table1.bianm=table2.bianm
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好﹗ 應不需要加where table1.bianm=table2.bianm吧
select sum(jine1-jine2) from table1,table2
或者
select sum(jine1)-sum(jine2) from table1,table2 =========================
我是您的朋友﹐有您真好﹗
=========================
發表人 - cashxin2002 於 2004/11/20 09:39:17
------
忻晟 |
chenliyan163
一般會員 發表:30 回覆:30 積分:12 註冊:2003-09-15 發送簡訊給我 |
table1 table2
bianm jine bianm jine2
1001 100 1001 1
1002 200 1002 2
1003 300 1003 3
1004 400
上面的可以用下面的那个SQL算出:得到996
select sum(jine-isnull(jine2,0))
from t1 left join t2
on t1.bianma=t2.bianma 深化下面的课题:
假如说我在SUM时预选判断youxf 是否为1(如果为0就不SUM) and 在一定的时间段,这样的SQL怎么写
table1 table2
bianm jine youxf rq bianm jine2 youxf rq2
1001 100 1 2004-01-01 1001 1 0 2004-01-01
1002 200 0 2004-02-01 1002 2 1 2004-02-01
1003 300 1 2004-03-01 1003 3 1 2004-03-01
1004 400 1 2004-04-01
我写了这样一句SQL
SELECT SUM(TABLE1.jine - ISNULL(TABLE2.jine2, 0)) AS hejje
FROM TABLE1 LEFT OUTER JOIN
TABLE2 ON TABLE1.bianm = TABLE2.bianm
WHERE (TABLE1.rq BETWEEN '2003-01-01' AND '2005-01-01') AND (TABLE2.rq2 BETWEEN
'2003-01-01' AND '2005-01-01') AND
(TABLE1.youxf = 1) AND (TABLE2.youxf = 1)
这样红色的那句在于不在都一样,而且他根本不受条件的限制(把youxf=0的都SUM了)
请问这样该如何写这个SQL
|
Wesly
中階會員 發表:14 回覆:103 積分:53 註冊:2002-05-31 發送簡訊給我 |
|
chenliyan163
一般會員 發表:30 回覆:30 積分:12 註冊:2003-09-15 發送簡訊給我 |
非常感谢两位热心的回答:
1.297这个数肯定不是我要的数
table1 table2
bianm jine youxf rq bianm jine2 youxf rq2
1001 100 1 2004-01-01 1001 1 0 2004-01-01
1002 200 0 2004-02-01 1002 2 1 2004-02-01
1003 300 1 2004-03-01 1003 3 1 2004-03-01
1004 400 1 2004-04-01
公式:(100-0) (300-3) (400-0)
注意:1.当table1的youxf为0,那么对应table2的youxf不管为0或者1都不能统计进去(例如:bianm为1002)
2.当table1的youxf为1,而table2的youxf为0时,那么(table1.jine-0)
3.当编号为table1编号为1004在table2中没有,但也要统计进去
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |