postgresql – Postgres在regexp_split_to_table拆分的列中搜索
发布时间:2020-12-13 16:06:01 所属栏目:百科 来源:网络整理
导读:我有下表: cs_id ; cs_values ; cs_desc--------------------------- 1; 'a,b,c'; 'one' 2; 'd,a'; 'two' 3; 'a,c'; 'three' 字段“cs_valies”包含不同的逗号分隔值.我想在“cs_values”中包含特定值的行上获取所有“cs_id”. 我用过这个表达式: SELECT c
我有下表:
cs_id ; cs_values ; cs_desc --------------------------- 1; 'a,b,c'; 'one' 2; 'd,a'; 'two' 3; 'a,c'; 'three' 字段“cs_valies”包含不同的逗号分隔值.我想在“cs_values”中包含特定值的行上获取所有“cs_id”. 我用过这个表达式: SELECT cs_id,regexp_split_to_table(cs_values,'*,*') as splitted_value WHERE splitted_value = 'a' 我有问题: > Postgres不喜欢WHERE子句中的别名.或者有谁知道如何实现这一目标? 谢谢大家, 解决方法
SELECT * FROM ( SELECT cs_id,*') as splitted_value ) t WHERE splitted_value = 'a'
规范化您的表并将“逗号分隔列表”放入其自己的表中.这是一个经典的1:n关系 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |