一條SQL語句的書寫

fanhongjie發表於2008-05-19

目的,輸出表中所有客戶名稱,尺度可能存在的組合,如果該組合上沒有數量,則以0代替.

custom_name :客戶名稱

rsize:尺度

qty:數量

表名:custom01

[@more@]

表中記錄如下:

客戶名稱 尺度 數量
中國 20 10
中國 60 40
中國 80 50
德國 40 60
德國 80 70


其中尺度有20 40 60 80
輸出變為下面的格式

客戶名稱 尺度 數量
中國 20 10
中國 40 0
中國 60 40
中國 80 50
德國 20 0
德國 40 60
德國 60 0
德國 80 70

實現的SQL語句如下:

select c.custom_name,c.rsize,nvl(d.qty,0) from (select a.custom_name, b.rsize
from (select distinct custom_name from custom01) a,
(select distinct rsize from custom01) b) c,
custom01 d
where c.custom_name=d.custom_name(+)
and c.rsize=d.rsize(+)
group by c.custom_name,c.rsize,d.qty

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/73920/viewspace-1004230/,如需轉載,請註明出處,否則將追究法律責任。

相關文章