線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1527
推到 Plurk!
推到 Facebook!

SQL問題

尚未結案
mygod
一般會員


發表:52
回覆:64
積分:23
註冊:2002-09-10

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-12-07 22:25:27 IP:211.74.xxx.xxx 未訂閱
如果有多個table 每個table欄位都相同,field1~10 我該如何下SQL指令,才可以取得所有table中個別相同欄位的總和 如:field1的總和,field2的總和,field3的總和... 謝謝 oh~mygod
------
oh~mygod
chih
版主


發表:48
回覆:1186
積分:639
註冊:2002-04-02

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-12-07 22:41:13 IP:61.225.xxx.xxx 未訂閱
SELECT SUM(A.Field1 B.Field1) as Field1,SUM(A.Field2 B.Field2) as Field2 FROM A,B WHERE A.xx=B.xx//xx就是你要將Table連結的key值.. try try see.. 不行在post吧..
引言: 如果有多個table 每個table欄位都相同,field1~10 我該如何下SQL指令,才可以取得所有table中個別相同欄位的總和 如:field1的總和,field2的總和,field3的總和... 謝謝 oh~mygod
mygod
一般會員


發表:52
回覆:64
積分:23
註冊:2002-09-10

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-12-08 00:59:51 IP:211.74.xxx.xxx 未訂閱
其實我真正的問題在於,這些table可能是一個區間,如table1~10、table10~100 所以我目前是用迴圈寫SQL指令(類似chih兄所寫的SQL,然後用迴圈將各部分串接) 因為欄位有1、2十個,所以用迴圈寫很麻煩,是否有方法可以將所有的table合併成一暫時的table,然後對此temp table下SQL指令 select sum(field1),sum(field2),...,sum(field20) from tmptable 而不用 select sum(t1.field1 t2.field1 ... t10.field1) as field1, sum(t1.field2 t2.field2 ... t10.field2) as field2, . . sum(t1.field20 t2.field20 ... t10.field20) as field20, from t1,t2,...t10 P.S:所有table的欄位都相同 oh~mygod
------
oh~mygod
FrederickPau
資深會員


發表:4
回覆:161
積分:268
註冊:2002-11-04

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-12-08 03:09:11 IP:61.228.xxx.xxx 未訂閱
如果你是用 SQL Server, 你可以試試 select sum(a), sum(b) from ((select * from table1) union (select * from table2)) as tmptable 為了防止你的所有 table 會有相同的 Record 出現 (會只剩一筆), 你可以在 union 後面加 ALL, 變成: select sum(a), sum(b) from ((select * from table1) union ALL (select * from table2)) as tmptable 發表人 - FrederickPau 於 2002/12/08 03:31:33
mygod
一般會員


發表:52
回覆:64
積分:23
註冊:2002-09-10

發送簡訊給我
#5 引用回覆 回覆 發表時間:2002-12-08 13:43:14 IP:61.59.xxx.xxx 未訂閱
我用的是mysql,您提供的方法try不出來ㄟ... 還是謝謝兩位 oh~mygod
------
oh~mygod
ko
資深會員


發表:28
回覆:785
積分:444
註冊:2002-08-14

發送簡訊給我
#6 引用回覆 回覆 發表時間:2002-12-09 13:00:03 IP:61.221.xxx.xxx 未訂閱
引言: 其實我真正的問題在於,這些table可能是一個區間,如table1~10、table10~100 所以我目前是用迴圈寫SQL指令(類似chih兄所寫的SQL,然後用迴圈將各部分串接) 因為欄位有1、2十個,所以用迴圈寫很麻煩,是否有方法可以將所有的table合併成一暫時的table,然後對此temp table下SQL指令
/*找出在奧克蘭市(Oakland)有那些作者的郵遞區號是相同的*/ select distinct a1.au_lname,a1.au_fname,a1.zip,a1.city from authors a1,authors a2 where a1.zip=a2.zip and a1.city='Oakland' and a1.au_id!=a2.au_id 這是屬於資料表自己連自己
------
======================
昏睡~
不昏睡~
不由昏睡~
mygod
一般會員


發表:52
回覆:64
積分:23
註冊:2002-09-10

發送簡訊給我
#7 引用回覆 回覆 發表時間:2002-12-11 20:17:31 IP:61.59.xxx.xxx 未訂閱
Ko兄,小弟不才,不太懂您提供的方法如何將所有的table合併成一暫時的table,然後對此temp table下SQL指令 能在說明一下嗎?謝謝 oh~mygod
------
oh~mygod
領航天使
站長


發表:12216
回覆:4186
積分:4084
註冊:2001-07-25

發送簡訊給我
#8 引用回覆 回覆 發表時間:2002-12-13 07:50:02 IP:192.168.xxx.xxx 未訂閱
引言: 如果有多個table 每個table欄位都相同,field1~10 我該如何下SQL指令,才可以取得所有table中個別相同欄位的總和 如:field1的總和,field2的總和,field3的總和... 謝謝 oh~mygod
用UNION指令試看看 select sum(f01),sum(f02) from ( select * from table1 union select * from table2 ) as tablesum 以上這個SQL指令在MS-SQL測試過可以, 但在MY-SQL上您要試看看囉! ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
mygod
一般會員


發表:52
回覆:64
積分:23
註冊:2002-09-10

發送簡訊給我
#9 引用回覆 回覆 發表時間:2002-12-13 20:11:34 IP:61.59.xxx.xxx 未訂閱
在mysql中 from之後接(select * ....) 不能過ㄟ... oh~mygod
------
oh~mygod
chih
版主


發表:48
回覆:1186
積分:639
註冊:2002-04-02

發送簡訊給我
#10 引用回覆 回覆 發表時間:2002-12-30 09:27:14 IP:211.74.xxx.xxx 未訂閱
MySQL好像不支援子查詢吧???
引言: 在mysql中 from之後接(select * ....) 不能過ㄟ... oh~mygod
系統時間:2024-06-29 22:06:30
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!