Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.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 server 返回列中是否存在值数组?_Sql Server_Arrays_Return_Exists - Fatal编程技术网

Sql server 返回列中是否存在值数组?

Sql server 返回列中是否存在值数组?,sql-server,arrays,return,exists,Sql Server,Arrays,Return,Exists,假设我有一张桌子:T Id Val ========== 1 100 2 200 3 300 我想检查上表中是否存在数组中的每个元素,如400、200、100、700、900,预期结果如下: (0, 1, 1, 0, 0) or (false, true, true, false, false) 知道如何编写select语句吗?您可以说select*from T,其中Val=400或Val=200等。然后将结果映射到数组。做映射的是真的,不做映射的是假的。你可以

假设我有一张桌子:T

Id    Val
==========
1     100
2     200
3     300
我想检查上表中是否存在数组中的每个元素,如400、200、100、700、900,预期结果如下:

(0, 1, 1, 0, 0) or (false, true, true, false, false)

知道如何编写select语句吗?

您可以说select*from T,其中Val=400或Val=200等。然后将结果映射到数组。做映射的是真的,不做映射的是假的。

你可以这样做

SELECT CASE WHEN t.val IS NULL 
            THEN 0 ELSE 1 END value_exists
  FROM 
(
  SELECT 400 val UNION ALL
  SELECT 200 UNION ALL
  SELECT 100 UNION ALL
  SELECT 700 UNION ALL
  SELECT 900
) a LEFT JOIN Table1 t 
    ON a.val = t.val
输出:

| VALUE_EXISTS | ---------------- | 0 | | 1 | | 1 | | 0 | | 0 |
这是演示文稿

@ USSR02633。欢迎你:如果是你要找的,请考虑答案。