全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:716
推到 Plurk!
推到 Facebook!

Oracle 兩個或兩個以上SQL處理的問題

尚未結案
kyo15b
一般會員


發表:15
回覆:7
積分:4
註冊:2005-06-17

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-06-17 16:53:25 IP:218.175.xxx.xxx 未訂閱
我要將兩個或兩個以上SQL篩選出來的資料同時show到QuickRep上面(如圖) SQL1篩選出來的資料(特賣) 品名 銷售額 進貨額 ------------------------------ Kitty貓 300 200 米老鼠 200 150 唐老鴨 180 130 SQL2篩選出來的資料(正常) 品名 銷售額 進貨額 ------------------------------ Kitty貓 350 200 高登狗 170 100 唐老鴨 250 130 我要將兩個SQL同時show到報表上面 像是第一個商品 Kitty貓 就會在(特賣)跟(正常)兩個欄位分別show出資料 第二個商品米老鼠便是只在(特賣)show出資料 第三個商品高登狗只會在(正常)show出資料 第四個商品唐老鴨會在(特賣)跟(正常)兩個欄位分別show出資料 因為還要以銷售量做排序 所以show出的順序則變成 Kitty->唐老鴨->米老鼠->高登狗 我遇到的問題是在只有單一一個特賣或是正常的商品時 SQL1 有該商品 SQL2沒有 SQL2變會由下一筆來遞補 這個問題要怎麼解決?
yachanga
資深會員


發表:24
回覆:335
積分:296
註冊:2003-09-27

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-06-30 09:16:43 IP:211.74.xxx.xxx 未訂閱
引言: 我遇到的問題是在只有單一一個特賣或是正常的商品時 SQL1 有該商品 SQL2沒有 SQL2變會由下一筆來遞補 這個問題要怎麼解決?
Dear kyo15b您好: 我不太清楚您上面這句話的意思, 或許是需要您描述更清楚ㄧ點. 若是想要解決兩個SQL商品資料不同問題, 可以用SQL Outer Join 解決. 由於有些商品特賣或正常並沒有, 所以您必須有另ㄧ個Table 或是 SQL 顯示所有的商品. 假設您沒有紀錄所有商品的表格,則可以由銷售資料抓取所有的商品資料 此時, 假設商品欄位(Name), 銷售額欄位(SELLOUT), 進貨額欄位(BUYIN) 您的第一個資料(特賣)為 SELL_V, 第二的資料為 NORMAL_V 則所有商品資料為
  select name from SELL_V
   union
  select name from NORMAL_V
 
此時您可以將特賣和正常賣合成一個SQL
  Select a.name ,b.sellout "特賣銷售額",b.buyin "特賣進貨額",
         c.sellout "正常銷售額",c.buyin "正常進貨額"
    from 
   (select name from SELL_V
    union
    select name from NORMAL_V
   ) a, 
    SELL_V b,
    NORMAL_V c
  where a.name=b.name(+)
    and a.name=c.name(+)  
 
最後, 在QuickReport 上, 將欄位擺上適當的位置即可. ~悠遊法國號~
系統時間:2024-06-28 19:32:32
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!