Mysql select 中的子查询返回多个字段

Mysql select 中的子查询返回多个字段

我的表中刚好有个字段是json格式,其中有个id需要做联表查询。如果直接解析json联表会影响性能,因为会全表的数据解json。所以我就用到子查询,但mysql select 中的只查询只能返回一个字段,想返回多个怎么办呢。
不费话,真接上代码

set @a:=null;
set @b:=null;
SELECT 	(SELECT CONCAT(@a:=CONCAT(t1.id),@b:=t2.name)
		from t2
		where t1.json->>'$.id'=t2.id
		) as temp,
		@a as id,
		@b as name,
from t1
where t1.status=1

刚好在网上找到一位大神的骚操作
另外我刚好发现,如果直接把数字类型set进会话变量,字段会显示(BLOB)9 bytes,虽然并不知道会不会影响使用,但我还是把id转成字符串再set进去,这样就正常显示了。

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值