Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql:如何在输出中插入行值,即使它不在列中_Sql_Postgresql - Fatal编程技术网

Postgresql:如何在输出中插入行值,即使它不在列中

Postgresql:如何在输出中插入行值,即使它不在列中,sql,postgresql,Sql,Postgresql,让表名为“box”该框将具有 1. pen 2. pencil 3. eraser 4. sharpener 5. scale 但是可能SQL表是这样的 s no.___ item____ quantity 1 _____ pen_____ 2 2 ____ pencil____ 3 3____ eraser____ 5 我需要一个查询,它提供以下输出 item______ quantity pen _____

让表名为“box”该框将具有

1. pen
2. pencil
3. eraser
4. sharpener
5. scale
但是可能SQL表是这样的

s no.___    item____  quantity

 1 _____       pen_____     2

 2 ____      pencil____   3

 3____      eraser____    5
我需要一个查询,它提供以下输出

item______      quantity

pen ______          2

pencil ____       3

eraser ____       5

sharpener__     0

scale   ____      0
这就是我现在使用的查询

选择确诊病例 当“转发给Emminte心脏病专家”时,则“在10分钟内重复心电图” 当“是”时,然后“是” 当“不”然后“不” 当“我们做心电图”时,然后是“我们做心电图” 当“重新分配给1名心脏病专家”时,则“重新分配给1名心脏病专家” 当“重新分配给2名心脏病专家”时,则“重新分配给2名心脏病专家” 当“重新分配给3名心脏病专家”时,则“重新分配给3名心脏病专家”

随着疾病的确诊


来自immi_转诊的计数(疾病确认),创建日期>='2015-11-01 00:00'::时间戳和创建日期='2015-11-01 00:00'::时间戳和创建日期您可以创建另一个包含预期项目的表,并在其上留下连接:

CREATE TABLE expected (item VARCHAR(10));

INSERT INTO expected
VALUES ('pen'), ('pencil'), ('eraser'), ('sharpener'), ('scale');

SELECT    e.item, COALESCE(b.quantity, 0)
FROM      expected e
LEFT JOIN box b ON e.item = b.item
如果不想创建另一个表,可以使用选择硬编码文字的查询:

SELECT    e.item, COALESCE(b.quantity, 0)
FROM      (SELECT 'pen' AS item
           UNION ALL
           SELECT 'pencil'
           UNION ALL
           SELECT 'eraser'
           UNION ALL
           SELECT 'sharpener'
           UNION ALL
           SELECT 'scale') e
LEFT JOIN box b ON e.item = b.item

这完全不清楚。发布表格架构和表格数据样本以及所需的输出。所有项目名称都包含在哪里?(没有数量,只有名称)实际上不需要
创建表格
。您可以直接将cte或派生表与insertI中的
values
子句一起使用。我还有一个问题,我可以在该语句中使用“count”吗,如第一行中的“SELECT e.item,COALESCE(b.count(item),0)”??我试过这样做,但它显示出一些模棱两可的错误。请提供帮助。@saivenkatavinaypasupuleti您可以共享您正在使用的确切SQL和错误文本吗?从中选择e.disease\u confirm,COALESCE(b.count(disease\u confirm),0)(选择“是”作为疾病\u确认联合所有选择“否”联合所有选择“转发给埃米特心脏病专家”联合所有选择“重新采集心电图”联合所有选择“重新分配给1名心脏病专家”联合所有选择“重新分配给2名心脏病专家”联合所有选择“重新分配给3名心脏病专家”)e LEFT JOIN immi_reflection_tb b ON e.disease_confirm=b.disease_confirm错误:列引用“disease_confirm”不明确第1行:选择e.disease_confirm,COALESCE