日期:2014-05-17  浏览次数:20722 次

求一个行转列的做法
需求,有四个表关联

-- 产品表(备用12345,删除标志,产品主键、产品编码、产品名称、停用标志,增删改时间戳)  
create table FW_PRODUCT
(
  def1         VARCHAR2(50),
  def2         VARCHAR2(50),
  def3         VARCHAR2(50),
  def4         VARCHAR2(50),
  def5         VARCHAR2(50),
  dr           NUMBER(10) default 0,
  pk_fwproduct CHAR(20) not null,
  productcode  VARCHAR2(50),
  productname  VARCHAR2(50),
  stopflag     CHAR(1),
  ts           CHAR(19) default to_char(sysdate,'yyyy-mm-dd hh24:mi:ss')
);



-- 市场表(分析标志,备用12345,删除标志,市场编码,市场名称,产品主键、市场主键,停用标志,增删改时间戳) 
create table FW_MARKET
(
  analyseflag  CHAR(1),
  def1         VARCHAR2(100),
  def2         VARCHAR2(100),
  def3         VARCHAR2(100),
  def4         VARCHAR2(100),
  def5         VARCHAR2(100),
  dr           NUMBER(10) default 0,
  marketcode   VARCHAR2(50) not null,
  marketname   VARCHAR2(50),
  pk_fwproduct CHAR(20),
  pk_market    CHAR(20) not null,
  stopflag     CHAR(1),
  ts           CHAR(19) default to_char(sysdate,'yyyy-mm-dd hh24:mi:ss')
);




-- 报价主表(备用12345,删除标志,报价主键,报价日期,产品名称,增删改时间戳) 
create table FW_PRICE
(
  def1        VARCHAR2(100),
  def2        VARCHAR2(100),
  def3        VARCHAR2(100),
  def4        VARCHAR2(100),
  def5        VARCHAR2(100),
  dr          NUMBER(10) default 0,
  pk_fwprice  CHAR(20) not null,
  pricedate   CHAR(10) not null,
  productname CHAR(20),
  ts          CHAR(19) default to_char(sysdate,'yyyy-mm-dd hh24:mi:ss')
);



-- 报价子表(备用12345,删除标志,报价主表PK,市场PK,报价子表PK,价格,增删改时间戳) 
create table FW_PRICE_B
(
  def1        VARCHAR2(50),
  def2        VARCHAR2(50),
  def3        VARCHAR2(50),
  def4        VARCHAR2(50),