Oracle如何在没有查询记录时填充数据

时间:2019-03-01 08:15:50

标签: sql oracle

我想在PL / SQL中执行以下SQL

select did, n1,  n2 ,n3  
from t where t.did in (‘A’,’C’,’G’) 

结果将是“不重新编码”

enter image description here

我希望结果能像这样

enter image description here

我应该如何编写sql

1 个答案:

答案 0 :(得分:0)

理想情况下,您应该有一些其他表来维护所有可能的var PanelConfStatus = Object.assign({}, ParamsSingleStat); var PanelAppStatus = Object.assign({}, ParamsSingleStat); 值。如果没有这种情况,我们可以在此处尝试使用CTE:

did

当然,这还意味着,如果您的表中有多于一个匹配给定WITH cte AS ( SELECT 'A' AS did FROM dual UNION ALL SELECT 'B' FROM dual UNION ALL SELECT 'C' FROM dual ) SELECT t1.did, t2.n1, t2.n2, t3.n3 FROM cte t1 LEFT JOIN t t2 ON t1.did = t2.did; 值的记录,则您的结果集也将有多于该{{ 1}}的值。如果您始终希望每个did值都有一条记录,那么您将必须向我们提供其背后的逻辑。