随笔- 298  文章- 4  评论- 35  阅读- 96万 

 

1. postgresql 某字段用逗号分隔,查询某个值是否在其中

比如有个字段值是 1,2,3

查看1是否在里面

select
      id,
            gate_type,
      gate_name
    from yg_gate_base_b 
        where '1'  = ANY ( STRING_TO_ARRAY( gate_type, ',' ) ) 
        order by gate_type desc
    

 

 

2. postgresql 某字段用逗号分隔,关联表查询

 

比如一个表,字段为  1,2,

另有一张字典表,1:节制闸,2:排水闸

需要查询结果为:节制闸,排水闸

复制代码
SELECT 
            a.id,
            a.gate_type,
            string_agg ( s.name, ',' ) 
FROM
    yg_gate_base_b a
    
LEFT JOIN 
    sys_dict_list s 
    
ON s.code = ANY ( STRING_TO_ARRAY( a.gate_type, ',' ) ) 
     
where s.dic_name = '水闸类型'
and '1'  = ANY ( STRING_TO_ARRAY(  a.gate_type, ',' ) ) 

GROUP BY
    a.id,
    a.gate_type
ORDER BY
    a.id ASC
复制代码

查询效果

 

 posted on   布鲁布鲁sky  阅读(2823)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
历史上的今天:
2018-05-11 一个表中多个字段对应另一个表的ID(SQL查询)
点击右上角即可分享
微信分享提示