postgresql模糊查询json类型字段内某一属性值

背景:现在要做三表联查,posts表和author表和ip表,其中user表的profile字段以jsonb类型存储在数据库,其类型是字典,nickname是其中的一个key,现要对nickname进行模糊查询,实现sql如下:

SELECT * FROM 
posts p
LEFT JOIN users u ON p.poster_id=u.id AND p.poster_type='User'
LEFT JOIN authors a ON p.poster_id = a.id AND p.poster_type='Author'
LEFT JOIN ips i ON p.poster_id = i.id AND p.poster_type='IP'
WHERE u.profile #>>'{nickname}' LIKE 'asd%'
OR a.name LIKE 'asd%'
OR i.name LIKE 'asd%';

相关文章

项目需要,有个数据需要导入,拿到手一开始以为是mysql,结果...
本文小编为大家详细介绍“怎么查看PostgreSQL数据库中所有表...
错误现象问题原因这是在远程连接时pg_hba.conf文件没有配置正...
因本地资源有限,在公共测试环境搭建了PGsql环境,从数据库本...
wamp 环境 这个提示就是说你的版本低于10了。 先打印ph...
psycopg2.OperationalError: SSL SYSCALL error: EOF detect...