相关疑难解决方法(0)

SELECT 常量数组

在 MySQL 中,如何SELECT对常量值数组执行 a ?类似的东西:

SELECT ['1', '2', '3'] AS ID;

所需的输出是:

+-----+
| ID  |
+-----+
| 1   |
| 2   |
| 3   |
Run Code Online (Sandbox Code Playgroud)

mysql

7
推荐指数
1
解决办法
3448
查看次数

为IN列表中的缺失值返回NULL

我有这样一张桌子:

 id | val
 ---------
  1 | abc
  2 | def
  5 | xyz
  6 | foo
  8 | bar
Run Code Online (Sandbox Code Playgroud)

和查询一样

 SELECT id, val FROM tab WHERE id IN (1,2,3,4,5)
Run Code Online (Sandbox Code Playgroud)

返回

 id | val
 ---------
  1 | abc
  2 | def
  5 | xyz
Run Code Online (Sandbox Code Playgroud)

有没有办法让它返回NULL丢失的id,即

 id | val
 ---------
  1 | abc
  2 | def
  3 | NULL
  4 | NULL
  5 | xyz
Run Code Online (Sandbox Code Playgroud)

我想应该有一个棘手的LEFT JOIN与它本身,但不能包围我的头.

编辑:我看到人们正在考虑我想在序列中"填补空白",但实际上我想要的是将NULL替换为IN列表中的缺失值.例如,这个

 SELECT id, val FROM tab WHERE id IN (1,100,8,200)
Run Code Online (Sandbox Code Playgroud)

应该回来

 id …
Run Code Online (Sandbox Code Playgroud)

mysql sql

6
推荐指数
1
解决办法
692
查看次数

PL/SQL - 在Where子句中使用"List"变量

在PL/SQL中,如何声明包含多个值的变量MyListOfValues(MyValue1,MyValue2等)

SELECT * 
FROM DatabaseTable 
WHERE DatabaseTable.Field in MyListOfValues
Run Code Online (Sandbox Code Playgroud)

我正在使用Oracle SQL Developer

oracle plsql

4
推荐指数
2
解决办法
2万
查看次数

具有不同ID的MySQL批处理更新语句

是否有任何单个 SQL语句等同于这些?

UPDATE table_name SET (a = 'something', b='B1') WHERE id=1;
UPDATE table_name SET (a = 'something else', b='B2') WHERE id=2;
UPDATE table_name SET (a = 'another', b='B3') WHERE id=3;
Run Code Online (Sandbox Code Playgroud)

mysql sql sql-update

3
推荐指数
1
解决办法
3586
查看次数

标签 统计

mysql ×3

sql ×2

oracle ×1

plsql ×1

sql-update ×1