ptvosp_payrecord 的 orderid = ptvosp_ordermodel的id
ptvosp_ordermodel 这张表是关联表 两个字段 productid 和 assetid 这两个字段是productid有值的话,那么assetid就没有值,要是assetid有值的话 那么productid就没有值。
然后要是productid 有值就去 product这张表查询productname
要是assetid 有值 就去 productasset这张表 这张表也是关联表
productasset.assetid=ptvosp_ordermodel.assetid 然后再根据 productasset.assetid 去表asset中查询 title字段
ptvosp_ordermodel 这张表是关联表 两个字段 productid 和 assetid 这两个字段是productid有值的话,那么assetid就没有值,要是assetid有值的话 那么productid就没有值。
然后要是productid 有值就去 product这张表查询productname
要是assetid 有值 就去 productasset这张表 这张表也是关联表
productasset.assetid=ptvosp_ordermodel.assetid 然后再根据 productasset.assetid 去表asset中查询 title字段
ptvosp_ordermodel表有 id,productid,assetid,type4个字段
根据ptvosp_ordermodel.id 可以知道ptvosp_ordermodel.type
ptvosp_ordermodel.type 为0的话 那么用productid去表product查询
product.name 要是type=1的话 那么用assetid去表 productasset查询
productasset.assetid 再根据productasset.assetid去表asset查询asset.title看这个能不能写出来呢
typevalue number;
v_sql varchar2(12);
rvalue varchar2(12);
begin
select type
into typevalue
from ptvosp_ordermodel
where ptvosp_ordermodel.id = orderid;
if typevalue = 0 then
v_sql = 'select p.name from product p where p.productid =' || productid;
else
v_sql = 'select a.title from productasset e where r.assetid =' || assetid;
end if;
execute immediate v_sql
into rvalue;
exception
when others then
end;
sql>select sb('张磊') from dual;
true