小编RDK*_*lls的帖子

DB2 SQL - 可以查询值列表而不对每行值使用"或"?

我有一个值列表,我想知道是否可以通过所述列表进行查询,而不是必须为每行值执行"或"或将它们添加到表中并查询表(因为我即将做)

比如说,我的名单是;

010, 46793, '329', '10'
011, 46798, '322', '12'
012, 33333, '111', '14'
Run Code Online (Sandbox Code Playgroud)

我想这样查询;

SELECT VALUE1, VALUE2, VALUE3
  FROM MYTABLE
 WHERE (VALUEW VALUEX, VALUEY, VALUEZ) in(
        (010, 46793, '329', '10'),
        (011, 46798, '322', '12'),
        (012, 33333, '111', '14'))
Run Code Online (Sandbox Code Playgroud)

(这在语法上失败)

而不是必须做;

SELECT VALUE1, VALUE2, VALUE3
  FROM MYTABLE
 WHERE (VALUEW VALUEX, VALUEY, VALUEZ) = (010, 46793, '329', '10')
    OR (VALUEW VALUEX, VALUEY, VALUEZ) = (011, 46798, '322', '12')
    OR (VALUEW VALUEX, VALUEY, VALUEZ) = (012, 33333, '111', '14')
Run Code Online (Sandbox Code Playgroud)

请注意类似的东西;

SELECT VALUE1, …
Run Code Online (Sandbox Code Playgroud)

sql db2 db2-400 ibm-midrange

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

标签 统计

db2 ×1

db2-400 ×1

ibm-midrange ×1

sql ×1