回答

收藏

Oracle-使用查询创建临时结果集

技术问答 技术问答 108 人阅读 | 0 人回复 | 2023-09-14

如何在不创建表和插入数据的情况下创建?SQL临时结果集?
( c6 _; ^9 z- d例如:例如,我有一个列表,例如10个代码。我想把它放在查询中,然后查询数据库,看看临时列表中不存在哪些代码。! }! k1 K& ~3 Z! }: Z4 t$ \
若已在表中,则可执行以下操作:7 ]- h1 K% }7 d! Y& v: h
SELECT  ITEM_CODEFROM  TEMP_ITEMSMINUSSELECT   ITEM_CODEFROM   M_ITEMS查询前是否不使用?PL / SQL和纯SQL创建临时行集的方法?请不要回答以下内容:8 `3 S$ [! X) Y& w3 }2 |% {) A
SELECT 1 FROM DUALUNION ALLSELECT 2 FROM DUAL我有点想去哪里IN提供语句中的代码,并将其转换为行以供以后查询。
. G& d) y1 e$ \- o! a编辑:所以每个人都知道我的目标。基本上,我有时会得到一个产品代码列表。我需要找出列表中没有在我们的系统中设置哪些代码。我想快速把它放进去SQL为了查看哪些不在系统中(而不是导入数据等)。excel然后做一个公式,比如:
) L( |! f) N6 y5 @+ S. D9 W0 x. K. g="'"&A1&"',"这样,我就可以创建逗号分隔列表。9 T- p! s' W+ ^. v7 D; w
                                                               
( x' l" u0 }0 ^: s2 s4 i; j1 x    解决方案:                                                                2 i$ g" f) t; s
                                                                假如你用的是oracle 11g,则可以执行此操作
: O! M- e+ e/ Q$ B+ G6 q6 uwith t as ( select (column_value).getnumberval() Codes from xmltable(1、2、3、4、5)SELECT * FROM tWHERE NOT EXISTS (SELECT 1 FROM M_ITEMS M WHERE codes = M.ITEM_CODE);或者& N: n5 U' R. [# r; t
with t as ( select (column_value).getstringval() Codes from xmltable('"A","B","C"'))SELECT * FROM tWHERE NOT EXISTS (SELECT 1 FROM M_ITEMS M WHERE codes = M.ITEM_CODE);
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则