姓名 身份證 手機
1 空 123
2 888 空
1 777 空
2 空 00
像這種資料怎么補齊成
姓名 身份證 手機
1 777 123
2 888 00
uj5u.com熱心網友回復:
補齊的規則是什么?uj5u.com熱心網友回復:
上面的例子是按姓名一樣的uj5u.com熱心網友回復:
有人會嗎?求解答uj5u.com熱心網友回復:
用mssql寫的,和mysql差不多--測驗資料
if not object_id(N'Tempdb..#T') is null
drop table #T
Go
Create table #T([姓名] int,[身份證] nvarchar(23),[手機] nvarchar(23))
Insert #T
select 1,N'空',N'123' union all
select 2,N'888',N'空' union all
select 1,N'777',N'空' union all
select 2,N'空',N'00'
Go
--測驗資料結束
SELECT DISTINCT * FROM (
SELECT
a.姓名,
CASE WHEN a.身份證='空'THEN b.身份證 ELSE a.身份證 end AS 身份證,
CASE WHEN a.手機='空'THEN b.手機 ELSE a.手機 end AS 手機
FROM
#T a
LEFT JOIN
#T b
ON b.姓名 = a.姓名
AND b.手機 <> a.手機
AND b.身份證 <> a.身份證
)t
uj5u.com熱心網友回復:
謝謝,我試試轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/54268.html
標籤:MySQL
