尝试从列表中提取表以插入到循环中

k4aesqcs  于 2022-09-18  发布在  Java
关注(0)|答案(2)|浏览(94)

我使用的是Oracle数据库,在该数据库中,我需要对同一数据库中保存的大量客户数据库表运行相同的查询。

该查询是一个SELECT命令,其运行方式如下:

select id from customer1_table name where customer1_table.row = 1234

问题是,我不是运行该命令100次,而是尝试确定是否可以将cuotmer1更改为指向一个列表,该列表包含循环语句中的所有100个客户名称(每个客户名称对于同一个表都有一个唯一的名称,以表示其所属位置),并且每次连续运行循环都会选取一个不同的客户名称,并将其插入SELECT语句中需要的位置。如有任何帮助,我们不胜感激。

e0bqpujr

e0bqpujr1#

您可以使用列表选择,例如:

SELECT * FROM table1 WHERE ID IN (1,2,3,4,...,1001,1002,...)

不同的数据库类型的语法可能会有所不同。

azpvetkf

azpvetkf2#

您可以只使用WITH子句来定义一个作用域并将其联接:

WITH names_list AS
(
  SELECT name1 AS name FROM dual UNION ALL 
  SELECT name1 FROM dual UNION ALL
  ...
  SELECT nameN FROM dual
)
SELECT name.id 
  FROM customer1_table name 
       INNER JOIN names_list nl ON name.name = nl.name;

相关问题