请教这种交集式的SQL语言应该如何写

请问这种交集式的SQL语言应该怎么写?
客户名称  产品名称 单价
公用报价  小米   1000
公用报价  三星   2000
张三      苹果  3000
张三      华为  2000
张三      小米  980

现要求生成如下的结果

张三  小米 980
张三  三星 2000
张三  苹果 3000
张三  华为 2000
-------------------------------------------------------
也就是说 生成一个张三的报价单.
公用报价里的有的 都调出来.
张三的也调出来.
重复的按张三 自己的为准.
------解决思路----------------------
用ISNULL()简单搞定
/* 测试数据
WITH table1(客户名称,产品名称,单价) AS
(
    SELECT '公用报价','小米',1000 UNION ALL
    SELECT '公用报价','三星',2000 UNION ALL
    SELECT '张三','苹果',3000 UNION ALL
    SELECT '张三','华为',2000 UNION ALL
    SELECT '张三','小米',980
) */
    SELECT '张三' 客户名称,
           ISNULL(t1.产品名称,t2.产品名称) 产品名称,
           ISNULL(t1.单价,t2.单价) 单价
      FROM (SELECT 产品名称,单价
              FROM table1
             WHERE 客户名称 = '张三'
           ) t1
 FULL JOIN (SELECT 产品名称,单价
              FROM table1
             WHERE 客户名称 = '公用报价'
           ) t2
        ON t1.产品名称 = t2.产品名称

客户名称 产品名称        单价
-------- -------- -----------
张三     苹果            3000
张三     华为            2000
张三     小米             980
张三     三星            2000