SELECT查询结果集中,如何能够动态添加一个标识列?
2012-10-19 23:47
633 查看
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)
据说也可采用存储过程或者临时表解决此问题,后续会对以上问题进行改造。
本文出自 “坚持下去” 博客,请务必保留此出处http://zuoanlove.blog.51cto.com/1422941/1053196
比如通过
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)
据说也可采用存储过程或者临时表解决此问题,后续会对以上问题进行改造。
本文出自 “坚持下去” 博客,请务必保留此出处http://zuoanlove.blog.51cto.com/1422941/1053196
相关文章推荐
- SELECT查询结果集中,如何能够动态添加一个标识列?
- 在使用Hibernate时,因为一个查询需要更多的表连接而要使用SQL来解决性能问题。然而返回的结果集中包含了没有映射的Entity类中的表字段,在这个SQL中还有使用如何将层次关系的父子结点显示为横行
- 如何把个表的合计字段 合并SQL查询到一个结果集中
- 如何让SELECT 查询结果额外增加自动递增序号 (转自章立民CnBlogs)
- sql 如何把查询得到的结果如何放入一个新表中
- 如何让SELECT 查询结果额外增加自动递增序号 如果数据表本身并不内含自动递增编号的字段时,要怎么做才能够让SELECT查询结果额外增加自动递增序号呢?下列五种方法供您参考: USE test;
- 把一个select查询结果插入到一个表(可选指定字段和值实例)
- 如何判断一个查询的结果是否为空
- 如何让SELECT 查询结果额外增加自动递增序号sqlserver
- SQL语句查询结果集中的动态修改案例(临时表+游标)
- 如何让SELECT 查询结果额外增加自动递增序号
- 如何在SQL结果集中对行进行动态编号
- 关于如何利用原生js动态给一个空对象添加属性以及属性值
- 关于如何在查询结果中添加自动编号
- eclipse插件Maven添加依赖查询无结果的解决方法(Select Dependency doesn't work)
- java如何获取SQL查询结果集中的行数和列数
- 使用JS,如何给下拉列表动态的添加一个option 选项?
- mysql如何根据select结果进行二次连接查询
- 如何让SELECT 查询结果额外增加自动递增序号
- 如何合并?想在Linq查询的结果添加另一信息