當前位置:首頁 » 編程語言 » 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』,』|』)