当前位置:首页 » 编程语言 » sql一条数据根据标志拆成两条
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql一条数据根据标志拆成两条

发布时间: 2023-08-14 10:47:50

sql查询将一条数据分成多条

select 用户NO,部门1 from table1 where 用户NO='001' union all

select 用户NO,部门2 from table1where 用户NO='001' union all
select 用户NO,部门3 where 用户NO='001'

Ⅱ 把一个表的数据拆成两个,这个sql语句该怎么写

使用Oracle的substr函数;
substr(字符串,截取开始位置,截取长度)
substr('Hello World',2,4) //返回结果为 'ello'

Ⅲ sql数据库 根据一个字段的值 拆分成两个字段

省和市之间是有 空格分隔的对吗?
如果是的话 你可以截取啊
先判断空格的位置 position(' 'in column_name)
再截取字符串就可以了
substr(column_name,1,position('' in column_name)) --省
substr(column_name,position('' in column_name)+1) --市

Ⅳ sql server 表中一条记录分成2条显示(把login字段分隔开)

--修改table_name表名称
declare@svarchar(100),@sqlvarchar(1000)
select@s=loginfromtable_name
set@sql='selectlogin='''+replace(@s,',',''',工单号,事件类别,摘要,内容描述fromtable_nameunionallselect''')+''''
set@sql=@sql+',工单号,事件类别,摘要,内容描述'
PRINT@sql
exec(@sql)

Ⅳ oracle sql 将一条记录复制拆分成多条,怎样按条件执行循环

用oracle start with connect by 可以实现。

oracle start with connect by 用法oracle 提供了start with connect by 语法结构可以实现递归查询。

1. 一个简单举例:
SQL> select * from test;

BILL_MONTH DAY_NUMBER MSISDN
-------------------- ---------- --------------------
200803 1 13800
200803 3 13800
200803 2 13800
200803 2 13801
200803 4 13804
200803 5 13804
200803 7 13804
200803 8 13804
200803 6 13802
200803 6 13801
200803 7 13801
200803 8 13801
12 rows selected

SQL> select * from test
2 start with day_number=1
3 connect by prior day_number=day_number-1 and prior msisdn= msisdn
4 ;

BILL_MONTH DAY_NUMBER MSISDN
-------------------- ---------- --------------------
200803 1 13800
200803 2 13800
200803 3 13800

上面的语句查找出了从1开始,并且day_number 逐渐+1 递增的,并且 msisdn 相同的哪些个数据.

Ⅵ 求助SQL语句,要把一张表拆成2张表!

销售主表
select distinct 单据号,单据日期,客户名称,备注 from 销售表
销售子表
select 单据号,商品名称,规格型号,数量,单价,金额 from 销售表 order by 单据号

SID,FID从哪里来的?

Ⅶ 用SQL查询分析器查询时怎么把一个字段用“|”分割成多个

一般来讲都是从程序读取出来数据后在进行分割。
如果你非要从数据库查询出来就分割好,在sql server下只能去写split函数
if object_id(’f_split’) is not null

drop function f_split

go

create function f_split(@aString varchar(8000),@pattern varchar(10))

returns @temp table(a varchar(100))

--实现split功能 的函数

--说明:@aString,字符串,如a:b:c;@pattern,分隔标志,如 :

as

begin

declare @i int

set @aString=rtrim(ltrim(@aString))

set @i=charindex(@pattern,@aString)

while @i>=1

begin

insert @temp values(left(@aString,@i-1))

set @aString=substring(@aString,@i+1,len(@aString)-@i)

set @i=charindex(@pattern,@aString)

end

if @aString<>’’

insert @temp values(@aString)

return

end

--在下上述代码,然后就可以用了,例子:

select * from dbo.f_split(’0|418001|418002|418002’,’|’)