用sqlserver将表中某一个字段按空格截取
User表UserIDNameAgeMedal100001张三20万元户实名认证宠物达人100002李四30实名认证现数据库中已经存在User表想要添加一个Medal表如...
User表
UserID Name Age Medal
100001 张三 20 万元户 实名认证 宠物达人
100002 李四 30 实名认证
现数据库中已经存在User表
想要添加一个Medal表如下
Medal表
ID TaoBaoID Medal
1 100001 万元户
2 100001 实名认证
3 100001 宠物达人
4 100002 实名认证
用sqlserver实现 应该怎样做? 展开
UserID Name Age Medal
100001 张三 20 万元户 实名认证 宠物达人
100002 李四 30 实名认证
现数据库中已经存在User表
想要添加一个Medal表如下
Medal表
ID TaoBaoID Medal
1 100001 万元户
2 100001 实名认证
3 100001 宠物达人
4 100002 实名认证
用sqlserver实现 应该怎样做? 展开
2个回答
展开全部
with [user](userid,name,age,medal) as
( select 100001, '张三', 20, '万元户 实名认证 宠物达人'
union all select 100002, '李四', 30, '实名认证')
,
t as (select userid,cast(null as varchar(100)) medal,medal s from [user]
union all
select userid,
cast(case when charindex(' ', s)>0 then left(s, charindex(' ',s)-1) else s end as varchar(100)),
case when charindex(' ', s)>0 then right(s, len(s)-charindex(' ',s)) end
from t
where s is not null
)
select userid,medal from t where medal is not null order by userid
( select 100001, '张三', 20, '万元户 实名认证 宠物达人'
union all select 100002, '李四', 30, '实名认证')
,
t as (select userid,cast(null as varchar(100)) medal,medal s from [user]
union all
select userid,
cast(case when charindex(' ', s)>0 then left(s, charindex(' ',s)-1) else s end as varchar(100)),
case when charindex(' ', s)>0 then right(s, len(s)-charindex(' ',s)) end
from t
where s is not null
)
select userid,medal from t where medal is not null order by userid
追问
好吧 我没有看懂 但是我已经解决了 现在 我又有一个新问题
类似select * from User 这个结果是将User表中的张三和李四都读出来
现在我想 先读取张三的 处理张三的数据 然后再读取李四的 最好用循环来读取
换言之就是 有序的从头到尾 一条一条的将数据库中的数据读取出来
追答
没看懂?执行一下不就知道是否符合要求了
先张三后读李四,那你只好select * from user order by ....,order by的规则如果不是按name的字符串顺序而是事先确定好的,那就先用另一个表定义次序,这个表的结构如(序号,name),然后把各name按序号插进来,然后再跟[user]表做连接,并order by 序号
展开全部
create table Medal(
ID int IDENTITY(1,1),
TaoBaoID 类型,
Medal varchar(100),
foreignkey TaoBaoID references User(TaoBaoID ),
foreignkey Medal references User(Medal )
)
ID int IDENTITY(1,1),
TaoBaoID 类型,
Medal varchar(100),
foreignkey TaoBaoID references User(TaoBaoID ),
foreignkey Medal references User(Medal )
)
更多追问追答
追问
不是建表 是用代码实现 表已经建好了 是将User表中的UserID和Medal单独拿出来建张表 建成之后是Medal表的样子
追答
insert into Medal(TaoBaoID,Medal) select (UserID, Medal) from Users
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询