SELECT查询结果集中,如何能够动态添加一个标识列?
2012-10-19 23:47
531 查看
SELECT查询结果集中,如何能够动态添加一个标识列
比如通过
select * from t_category c1 start with c1.id=79350 connect by prior c1.id=c1.parent_id order by resource_order
此查询语句可以获取如下数据
ID RESOURCE_TYPE RESOURCE_ID RESOURCE_NAME PARENT_ID ...
79351 1 _A1000127724 浮沉1 79350 ...
79352 1 _A1000127732 浮沉2 79350 ...
能否在查询结果集后面动态添加一列
如RESOURCE_ID这列,内容是79350,要达到的效果是
ID RESOURCE_TYPE RESOURCE_ID RESOURCE_NAME PARENT_ID RESOURCE_ID...
79351 1 _A1000127724 浮沉1 79350 79350...
79352 1 _A1000127732 浮沉2 79350 79350...
只是想通过union把需要的数据一次加载上来,并能加以区分,如:
select * from t_category c1 start with c1.id=79350 connect by prior c1.id=c1.parent_id order by resource_order
union
select * from t_category c1 start with c1.id=79351 connect by prior c1.id=c1.parent_id order by resource_order
union
select * from t_category c1 start with c1.id=79352 connect by prior c1.id=c1.parent_id order by resource_order
union
select * from t_category c1 start with c1.id=79353 connect by prior c1.id=c1.parent_id order by resource_order
不知这样是否可行
select id,resource_type,resource_id,resource_name,parent_id,resource_order,resource_path,resource_show_path,resource_stencil,state,template_id,product_id,is_adv,business_type,is_focus,is_commend,create_time,79350 as source_id
from (select * from t_category c1 start with c1.id=79350 connect by prior c1.id=c1.parent_id order by resource_order)
union
select id,resource_type,resource_id,resource_name,parent_id,resource_order,resource_path,resource_show_path,resource_stencil,state,template_id,product_id,is_adv,business_type,is_focus,is_commend,create_time,105620 as source_id from (select * from t_category
c1 start with c1.id=105620 connect by prior c1.id=c1.parent_id order by resource_order)
union
select id,resource_type,resource_id,resource_name,parent_id,resource_order,resource_path,resource_show_path,resource_stencil,state,template_id,product_id,is_adv,business_type,is_focus,is_commend,create_time,105621 as source_id from (select * from t_category
c1 start with c1.id=105621 connect by prior c1.id=c1.parent_id order by resource_order)
据说也可采用存储过程或者临时表解决此问题,后续会对以上问题进行改造。
比如通过
select * from t_category c1 start with c1.id=79350 connect by prior c1.id=c1.parent_id order by resource_order
此查询语句可以获取如下数据
ID RESOURCE_TYPE RESOURCE_ID RESOURCE_NAME PARENT_ID ...
79351 1 _A1000127724 浮沉1 79350 ...
79352 1 _A1000127732 浮沉2 79350 ...
能否在查询结果集后面动态添加一列
如RESOURCE_ID这列,内容是79350,要达到的效果是
ID RESOURCE_TYPE RESOURCE_ID RESOURCE_NAME PARENT_ID RESOURCE_ID...
79351 1 _A1000127724 浮沉1 79350 79350...
79352 1 _A1000127732 浮沉2 79350 79350...
只是想通过union把需要的数据一次加载上来,并能加以区分,如:
select * from t_category c1 start with c1.id=79350 connect by prior c1.id=c1.parent_id order by resource_order
union
select * from t_category c1 start with c1.id=79351 connect by prior c1.id=c1.parent_id order by resource_order
union
select * from t_category c1 start with c1.id=79352 connect by prior c1.id=c1.parent_id order by resource_order
union
select * from t_category c1 start with c1.id=79353 connect by prior c1.id=c1.parent_id order by resource_order
不知这样是否可行
select id,resource_type,resource_id,resource_name,parent_id,resource_order,resource_path,resource_show_path,resource_stencil,state,template_id,product_id,is_adv,business_type,is_focus,is_commend,create_time,79350 as source_id
from (select * from t_category c1 start with c1.id=79350 connect by prior c1.id=c1.parent_id order by resource_order)
union
select id,resource_type,resource_id,resource_name,parent_id,resource_order,resource_path,resource_show_path,resource_stencil,state,template_id,product_id,is_adv,business_type,is_focus,is_commend,create_time,105620 as source_id from (select * from t_category
c1 start with c1.id=105620 connect by prior c1.id=c1.parent_id order by resource_order)
union
select id,resource_type,resource_id,resource_name,parent_id,resource_order,resource_path,resource_show_path,resource_stencil,state,template_id,product_id,is_adv,business_type,is_focus,is_commend,create_time,105621 as source_id from (select * from t_category
c1 start with c1.id=105621 connect by prior c1.id=c1.parent_id order by resource_order)
据说也可采用存储过程或者临时表解决此问题,后续会对以上问题进行改造。
相关文章推荐
- SELECT查询结果集中,如何能够动态添加一个标识列?
- 在使用Hibernate时,因为一个查询需要更多的表连接而要使用SQL来解决性能问题。然而返回的结果集中包含了没有映射的Entity类中的表字段,在这个SQL中还有使用如何将层次关系的父子结点显示为横行
- 如何把个表的合计字段 合并SQL查询到一个结果集中
- 如何让SELECT 查询结果额外增加自动递增序号 (转自章立民CnBlogs)
- 如何在MySQL查询结果集中得到记录行号
- 如何判断一个查询的结果是否为空
- 如何让SELECT 查询结果额外增加自动递增序号sqlserver
- 如何在SQL Server查询语句(Select)中检索存储过程(Store Procedure)的结果集
- 如何把两个rs结果集中的内容合并到一个结果集中
- 如何让SELECT 查询结果额外增加自动递增序号
- java如何获取SQL查询结果集中的行数和列数
- mysql中如何将查询结果的多个记录中的指定字段放到一个二维数组中,以及在in子句中使用数组
- Oracle 将一个查询结果值动态赋值给一个变量
- 如何在SQL结果集中对行进行动态编号
- 关于如何在查询结果中添加自动编号
- 一个能够编写、运行SQL查询并可视化结果的Web应用:SqlPad
- 【转】ArcGIS Server如何动态添加图层并进行查询
- 在一个div内,动态添加一段文字,如何设置为不管内容多少都以 上下垂直居中 的形式展现?
- 如何根据一个值来动态让select下的option选中
- 如何让SELECT 查询结果额外增加自动递增序号_SQL技巧