Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.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
SQL默认值_Sql - Fatal编程技术网

SQL默认值

SQL默认值,sql,Sql,我有一个select语句,它生成一个类型和数量: 我通常有以下几点 Type Qty TypeOne 1 TypeTwo 23 TypeThree 1 比如说,在特定情况下,我不会得到返回的两个值: Select Type, Qty from Tbl1 我的数据看起来像 Type Qty TypeOne 1 TypeThree 1 如果我没有得到一个特定的值,我希望将其默认为(在这种情况下,由于TypeTwo不存在,我希望将其默认为0并添加该

我有一个select语句,它生成一个类型和数量:

我通常有以下几点

Type       Qty
TypeOne    1
TypeTwo    23
TypeThree  1
比如说,在特定情况下,我不会得到返回的两个值:

  Select Type, Qty from Tbl1
我的数据看起来像

Type      Qty
TypeOne    1
TypeThree  1
如果我没有得到一个特定的值,我希望将其默认为(在这种情况下,由于TypeTwo不存在,我希望将其默认为0并添加该条目)

类型数量

TypeOne    1
TypeTwo    0
TypeThree  1

一种简单的方法是创建一个包含列类型和默认值的类型表,然后可以执行以下操作

   Select 
        type.Type, 
        COALESCE(tbl1.Qty,type.default) qty
   from
       type 
       LEFT JOIN Tbl1
       ON type.type = tbl1.type
如果没有类型表,根据数据库的不同,您可以创建一个临时表,或者使用
WITH子句
来创建类型和默认值之间的映射以及类型列表

比如说

With Type
( SELECT `TypeOne` type, 0 default 
  UNION ALL SELECT `TypeTwo` type, 4 default 
  UNION ALL SELECT `TypeThree` type, 3 default )
Select 
    type.Type, 
    COALESCE(tbl1.Qty,type.default) qty
from
    type 
    LEFT JOIN Tbl1
    ON type.type = tbl1.type

一种简单的方法是创建一个包含列类型和默认值的类型表,然后可以执行以下操作

   Select 
        type.Type, 
        COALESCE(tbl1.Qty,type.default) qty
   from
       type 
       LEFT JOIN Tbl1
       ON type.type = tbl1.type
如果没有类型表,根据数据库的不同,您可以创建一个临时表,或者使用
WITH子句
来创建类型和默认值之间的映射以及类型列表

比如说

With Type
( SELECT `TypeOne` type, 0 default 
  UNION ALL SELECT `TypeTwo` type, 4 default 
  UNION ALL SELECT `TypeThree` type, 3 default )
Select 
    type.Type, 
    COALESCE(tbl1.Qty,type.default) qty
from
    type 
    LEFT JOIN Tbl1
    ON type.type = tbl1.type

我们需要查看整个
SELECT
语句。您是说要查看数量为0的行吗?您是在询问在表级别设置默认值以便结果中不包含空值吗?我们需要查看整个
SELECT
语句。您是说要查看数量为0的行吗?您是在询问吗关于在表级别设置默认值以便结果中不包含空值?