如何在查询语句中建立一个临时表
时间:2011-09-15
来源:互联网
大家好,我使用plsqldev.exe登录服务器的oracle数据库采集部分信息。
遇到一个问题
在某些情况下,我想要查询与某些特定内容有关的数据,
比如查询主队或客队中含有(湖人、小牛、马刺)这样的比赛记录。以下是一个查询信息的SQL
SQL code
最后两行就是我希望能解决的部分,
现在我只会用笨办法,输入两次或者替换为
AND BTS.CELL_ID IN (&cilist)
AND ABTS.CELL_ID IN (&cilist)
这样可以只输入一次,但比较麻烦,不直观。
我想请教各位,可不可以自己定义一个表A,内容就只有一个字段,数据就是以上的CELL_ID。
这样我只要用(BTS.CELL_ID=A.CI or ABTS.CELL_ID=A.CI)替换以上的部分。以后直接修改A表就行了。
——
这个表是随时都要变的,我只能在自己的SQL语句里修改,不能修改oracle端。谢谢大家
遇到一个问题
在某些情况下,我想要查询与某些特定内容有关的数据,
比如查询主队或客队中含有(湖人、小牛、马刺)这样的比赛记录。以下是一个查询信息的SQL
SQL code
SELECT BSC.NAME BSC, BTS.SEGMENT_ID SEG, BTS.LA_ID_LAC LAC, BTS.CELL_ID CI, ABSC.NAME ABSC, ABTS.SEGMENT_ID ASEG, ABTS.LA_ID_LAC ALAC, ABTS.CELL_ID ACI, ADJ.HO_MARGIN_PBGT PMRG, ADJ.RX_LEV_MIN_CELL - 110 SL, DECODE(BTS.cell_reselect_param_ind, 0, 0, 1) * DECODE(BTS.penalty_time, 31, -1, 1) * BTS.cell_reselect_offset * 2 REO, DECODE(ABTS.cell_reselect_param_ind, 0, 0, 1) * DECODE(ABTS.penalty_time, 31, -1, 1) * ABTS.cell_reselect_offset * 2 AREO, DECODE(BTS.cell_reselect_param_ind, 0, 0, 1) * DECODE(BTS.penalty_time, 31, -1, 1) * BTS.cell_reselect_offset * 2 - BTS.RX_LEV_ACCESS_MIN CRO, DECODE(ABTS.cell_reselect_param_ind, 0, 0, 1) * DECODE(ABTS.penalty_time, 31, -1, 1) * ABTS.cell_reselect_offset * 2 - ABTS.RX_LEV_ACCESS_MIN AREO, BTS.RX_LEV_ACCESS_MIN - 110 RXP, ABTS.RX_LEV_ACCESS_MIN - 110 ARXP FROM C_ADJACENT_CELL ADJ, C_BTS BTS, OBJECTS BSC, C_BTS ABTS, OBJECTS ABSC WHERE BSC.INT_ID = BTS.BSC_INT_ID AND BTS.INT_ID = ADJ.BTS_INT_ID AND ADJ.ADJ_CELL_INT_ID = ABTS.INT_ID AND ABTS.BSC_INT_ID = ABSC.INT_ID AND (BSC.NAME LIKE 'LC%' OR BSC.NAME LIKE 'LIC%') AND BTS.CELL_ID IN (25011, 25012, 27003, 27741, 27743, 56121, 57421, 57422, 59231) AND ABTS.CELL_ID IN (25011, 25012, 27003, 27741, 27743, 56121, 57421, 57422, 59231)
最后两行就是我希望能解决的部分,
现在我只会用笨办法,输入两次或者替换为
AND BTS.CELL_ID IN (&cilist)
AND ABTS.CELL_ID IN (&cilist)
这样可以只输入一次,但比较麻烦,不直观。
我想请教各位,可不可以自己定义一个表A,内容就只有一个字段,数据就是以上的CELL_ID。
这样我只要用(BTS.CELL_ID=A.CI or ABTS.CELL_ID=A.CI)替换以上的部分。以后直接修改A表就行了。
——
这个表是随时都要变的,我只能在自己的SQL语句里修改,不能修改oracle端。谢谢大家
作者: idseair 发布时间: 2011-09-15
SQL code
-- 自己去查资料: scott@TBWORA> CREATE GLOBAL TEMPORARY TABLE T1_MEM ON COMMIT PRESERVE ROWS AS SELECT * FROM EMP WHERE 1=2; 表已创建。
作者: luoyoumou 发布时间: 2011-09-15
-- Oracle 有两种类型的临时表:事务临时表 和 会话临时表
作者: luoyoumou 发布时间: 2011-09-15
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28