oracle中查询多列条件的语句怎么简化
现在有一条语句,需要查询表中100-500列的值并按时间排序,如何进行100-500列的简写?不想一行一行敲。SELECTASV_TIMEAS"时间",ASV_TEMP1...
现在有一条语句,需要查询表中100-500列的值并按时间排序,如何进行100-500列的简写?不想一行一行敲。
SELECT
ASV_TIME AS "时间",
ASV_TEMP100,
.
./*中间好几百个省略*/
.
ASA_TEMP500
FROM at_stand_zjxthouravg a
WHERE ASV_TIME >= TRUNC(TO_DATE('2017-7-3', 'yyyy-mm-dd')+8/24,'hh')
AND ASV_TIME <= TRUNC(TO_DATE('2017-7-3', 'yyyy-mm-dd')+1+7/24,'hh')
AND ASV_dataid='10012016102110000019'
Order By ASV_TIME 展开
SELECT
ASV_TIME AS "时间",
ASV_TEMP100,
.
./*中间好几百个省略*/
.
ASA_TEMP500
FROM at_stand_zjxthouravg a
WHERE ASV_TIME >= TRUNC(TO_DATE('2017-7-3', 'yyyy-mm-dd')+8/24,'hh')
AND ASV_TIME <= TRUNC(TO_DATE('2017-7-3', 'yyyy-mm-dd')+1+7/24,'hh')
AND ASV_dataid='10012016102110000019'
Order By ASV_TIME 展开
若以下回答无法解决问题,邀请你更新回答
1个回答
展开全部
1、第一种办法
你使用pl/sql,左键点击表名不动,然后拖到右侧SQL窗口中,松开左键会出现一个菜单:
Name
Select Into
Select Loop
Select
Insert
...
选择其中的“Select”,然后会自动给你生成一个select语句,你去掉不要的字段即可。
2、使用all_tab_columns生成Sql语句。
select * from all_tab_columns where owner='大表所有者' and table_name='大表表名' and column_name not in ('你不要的列名','','');
然后你可以根据这个表取得,然后拼接处一个sql来。
你使用pl/sql,左键点击表名不动,然后拖到右侧SQL窗口中,松开左键会出现一个菜单:
Name
Select Into
Select Loop
Select
Insert
...
选择其中的“Select”,然后会自动给你生成一个select语句,你去掉不要的字段即可。
2、使用all_tab_columns生成Sql语句。
select * from all_tab_columns where owner='大表所有者' and table_name='大表表名' and column_name not in ('你不要的列名','','');
然后你可以根据这个表取得,然后拼接处一个sql来。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询