作者 主題: 請大大求救(急)sql語法  (閱讀 2847 次)

0 會員 與 1 訪客 正在閱讀本文。

little8

  • 可愛的小學生
  • *
  • 文章數: 3
    • 檢視個人資料
請大大求救(急)sql語法
« 於: 2012-03-13 16:25 »
公司有好幾百個相同欄位的資料表

會用到的欄位是 日期  價錢

表1                                          表2
像2012-01-02   300                2012-01-02     1000
   2012-02-15   600                2012-01-03      300
   2012-01-23   400
   2012-01-02   600

日期是會重覆的 遇到重覆日期就會累加 各表會分開

我希望最後能變

2012-01-02   900        2012-01-02   1000
2012-01-03   null         2012-01-03   300
2012-01-23   400        2012-01-23    null
2012-02-15   600        2012-02-15    null

目前只會select date , sum(price) from 表1 group by date

然後一個表一個表做~ 要做上百個~然後再貼到同一個檔案 快暈了

請問高手大大們有好的方法嗎?

非常感謝阿

asako

  • 活潑的大學生
  • ***
  • 文章數: 242
    • 檢視個人資料
Re: 請大大求救(急)sql語法
« 回覆 #1 於: 2012-03-13 19:41 »
select a.*,b.*

from
(select date , sum(price) from 表1 group by date)a  left join 表2 b on a.date =b.date


little8

  • 可愛的小學生
  • *
  • 文章數: 3
    • 檢視個人資料
Re: 請大大求救(急)sql語法
« 回覆 #2 於: 2012-03-14 09:31 »
請問一下這邊的a b 就是表1 表2嗎?

我怎麼組出來都有點怪怪的 > <

twu2

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 5394
  • 性別: 男
    • 檢視個人資料
    • http://blog.teatime.com.tw/1
Re: 請大大求救(急)sql語法
« 回覆 #3 於: 2012-03-14 09:57 »
如果 left join 的主資料表不是每天都有資料的話, 用 left join 的結果會少資料.

用 union?
代碼: [選擇]
select date, sum(price1), sum(price2)
from (select date, price as price1, 0 as price2 from t1
         union
           select date, 0 as price1, price as price2 from t2
          )
group by date
不過... 可能不是所有的資料庫都支援吧.

little8

  • 可愛的小學生
  • *
  • 文章數: 3
    • 檢視個人資料
Re: 請大大求救(急)sql語法
« 回覆 #4 於: 2012-03-14 10:31 »
謝謝樓上的大大
主資料表我可以找一個每天都有資料的當主資料表

我是用mysql
剛剛下指令後
出現
#1248 - Every derived table must have its own alias
請問是我那邊做錯?