Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.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,我有一个有3列的表(包含仅假设值为0到10的整数值)。我想用一个查询提取一个有1列的表。此列必须采用基于以下逻辑的值: 如果这三列中有一列的值为0-->则查询生成的表的列的值也必须为0 如果最后三列中没有一列的值为0-->column的值必须采用值1 这是一个简单的案例陈述。假设没有空值,请尝试以下操作: select (case when col1 = 0 or col2 = 0 or col3 = 0 then 0 else 1 end) 这是一个简单的案例陈述。假设没有空值,请尝试以下操

我有一个有3列的表(包含仅假设值为0到10的整数值)。我想用一个查询提取一个有1列的表。此列必须采用基于以下逻辑的值:

  • 如果这三列中有一列的值为0-->则查询生成的表的列的值也必须为0

  • 如果最后三列中没有一列的值为0-->column的值必须采用值1


  • 这是一个简单的案例陈述。假设没有空值,请尝试以下操作:

    select (case when col1 = 0 or col2 = 0 or col3 = 0 then 0 else 1 end)
    

    这是一个简单的案例陈述。假设没有空值,请尝试以下操作:

    select (case when col1 = 0 or col2 = 0 or col3 = 0 then 0 else 1 end)
    

    您正在寻找
    CASE
    构造或
    IF
    函数:

    SELECT CASE WHEN (t.field1 = 0 OR t.field2 = 0 OR t.field3 = 0) THEN 0
           ELSE 1 END AS value
    FROM t;
    
    在此特定情况下,您还可以使用以下事实,即任何零成员都将使产品归零:

    SELECT CASE WHEN (t.field1*t.field2*t.field3 = 0) THEN 0 ELSE 1 END AS value
    FROM t;
    


    您正在寻找
    CASE
    构造或
    IF
    函数:

    SELECT CASE WHEN (t.field1 = 0 OR t.field2 = 0 OR t.field3 = 0) THEN 0
           ELSE 1 END AS value
    FROM t;
    
    在此特定情况下,您还可以使用以下事实,即任何零成员都将使产品归零:

    SELECT CASE WHEN (t.field1*t.field2*t.field3 = 0) THEN 0 ELSE 1 END AS value
    FROM t;
    

    试试这个

    SELECT  
        CASE
        WHEN column1 = 0 THEN 0
        WHEN column2 = 0 THEN 0
        WHEN column3 = 0 THEN 0
        ELSE 1
        END
    FROM urtable
    
    试试这个

    SELECT  
        CASE
        WHEN column1 = 0 THEN 0
        WHEN column2 = 0 THEN 0
        WHEN column3 = 0 THEN 0
        ELSE 1
        END
    FROM urtable
    

    实际上,如果字段总是在1..10范围内——因此永远不会是0——那么与您的请求匹配的查询将是
    select1 fromtbl;-)实际上,如果字段总是在1..10范围内——因此永远不会是0——那么与您的请求匹配的查询将是
    select1 fromtbl;-)