SQL Server 编辑JSON列内容、同行不同列之间的赋值、多表联合查询

查询

select p.ID,p.Name,JSON_VALUE(d.Prop,'$."Position"') as Position
FROM DeTable as d INNER JOIN ProTable as p 
ON d.ID = p.ID 
where p.Type=1 order by d.id desc

修改的时候注意数据类型

修改int型数据:'Position'

  update d set Prop= JSON_MODIFY(Prop,'Position',p.Name) 
  from ProTable as p, DeTable as d 
  where Type=1 and d.ID=26 and p.ID=26

修改varchar型数据:,'$."Position"'

  update d set d.Prop=JSON_MODIFY(d.Prop,'$."Position"',p.Name) 
  from ProTable as p, DeTable as d 
  where Type=1 and d.ID=p.ID

多表联合查询,不依赖固定的视图

select top(10) t.ID,t.Type,JSON_VALUE(d.Prop,'$."Position"') as Position 
FROM HistoryTable AS t 
INNER JOIN DeTable as d 
ON t.ID = d.ID
INNER JOIN ProTable as p 
ON t.ID = p.ID 
WHERE t.DID<>0
order by t.id desc 

其它的

select (CAST(d.ProID as varchar(20))+RIGHT(POWER(CAST(10 AS BIGINT), 3)+d.CtrID, 3) + RIGHT(POWER(CAST(10 AS BIGINT), 3)+d.DevID, 3)) FROM DTable as d INNER JOIN PTable as p ON d.ProID = p.ProID WHERE p.County like '%xx%'  order by d.id desc 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值