1.备份数据表中的数据,创建临时表
create table common_import_bak as select * from common_import
2.把一个表中的 数据导入到另一个表中
insert into sec_user
(
id,
name,
type,
login_id,
password,
email,
mobile_phone,im,telephone,sex,birthday,status,org_id,rank,created_by,created_date,last_updated_by,last_updated_date
)
select
sys_guid() ,
t.c1,
'local',
t.c3,
'ICy5YqxZB1uWSwcVLSNLcA==',
'',
'',
'',
'',
'U',
'',
'enabled',
t.c2,
'',
'system',
sysdate ,
'system',
sysdate from common_import t
case when 的用法
select ta.*,
(case
when ta.isGSF=1 THEN repair_name||'(工时费)'
when ta.isGSF=0 THEN repair_name
end) repairName
from (select
t.bill_id, t.repair_id ,t.repair_name,t.price/100 price,t.quantity,
t.repair_total_price/100 totalprice,
t.repair_part_id,
decode((select tr.is_key from T_RESTYPE tr where t.repair_part_id=tr.id),0,'否',1,'是') iskey,
( select max(tr.start_time) from t_repair_bill tr where tr.bill_id < t.bill_id)
lastRepairTime,
(select count(*) from t_restype_detail trd,t_restype tr where t.repair_part_id=trd.id and trd.res_type_id = tr.id and tr.path like '%'||'df9394e09f974345b2b142a3a589ac95'||'%') isGSF
from t_car_repair t
where 1=1 ) ta
现在想用isGSF这个字段进行判断 重新生成repairName,可以在整个查询外边再套一层select
oracle wm_concat(column)函数的使用
SELECT ID, NAME, DESCRIPTION,(CASE S.TYPE WHEN 2 THEN '混合角色' WHEN 1 THEN '流程角色' ELSE '功能角色' END) TYPE,
CREATED_BY,CREATED_DATE,LAST_UPDATED_BY,
(SELECT wmsys.wm_concat(C.NAME)
FROM SEC_ROLE_INHERITANCE SRI,SEC_ROLE C WHERE SRI.CHILD_ROLE_ID = C.ID AND S.ID=SRI.PARENT_ROLE_ID) extendsRole,
-- 因为红色部分查询出来的是多条记录,所以要用wmsys.wm_concat这个函数转换一下,此函数的功能是将多行转换成一行数据 用逗号隔开。
比如:
shopping:
-----------------------------------------
u_id goods num
------------------------------------------
1 苹果 2
2 梨子 5
1 西瓜 4
3 葡萄 1
3 香蕉 1
1 橘子 3
=======================
想要的结果为:
--------------------------------
u_id goods_sum
____________________
1 苹果,西瓜,橘子
2 梨子
3 葡萄,香蕉
---------------------------------
- select u_id, wmsys.wm_concat(goods) goods_sum
- from shopping
- group by u_id
想要的结果2:
--------------------------------
u_id goods_sum
____________________
1 苹果(2斤),西瓜(4斤),橘子(3斤)
2 梨子(5斤)
3 葡萄(1斤),香蕉(1斤)
---------------------------------
使用oracle wm_concat(column)函数实现:
- select u_id, wmsys.wm_concat(goods || '(' || num || '斤)' ) goods_sum
- from shopping
- group by u_id
LAST_UPDATED_DATE
FROM SEC_ROLE S
WHERE 1=1