Oracle 兩個或兩個以上SQL處理的問題 |
尚未結案
|
kyo15b
一般會員 發表:15 回覆:7 積分:4 註冊:2005-06-17 發送簡訊給我 |
我要將兩個或兩個以上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 發送簡訊給我 |
引言: 我遇到的問題是在只有單一一個特賣或是正常的商品時 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 上, 將欄位擺上適當的位置即可. ~悠遊法國號~ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |