我有这个数组:
1:0, 2:0, 3:0, 4:0, 5:0, 6:0, 7:0, 8:0, 9:0, 10:0,11:0,12:0,13:0,14:0,15:0,16:0
17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0,
49:0,33:0,34:0,35:0,36:0,37:0,38:0,39:0,40:0,41:0,42:0,43:0,44:0,45:0,46:0,47:0,
48:0,50:0,51:0,52:0,53:0,54:0,55:0,56:0,57:0,58:0,59:0,60:0,61:0,62:0,63:9,64:0,
65:0,66:0,67:0,68:0,69:0,70:0,71:0,72:0,73:0,74:0,75:0,76:0,77:0,78:0,79:0,80:0,
81:0,82:0,83:0,84:0,85:0,86:0,87:0,88:0,89:0,90:0,91:0,92:0,93:0,94:0,95:0,96:0,
97:0,98:0,99:0,100:0
我想过滤所有条目,*:0
以便我只得到这个结果:
63:9
我想我必须更好地描述它:
我有一个users
带有字段的表user_skill
。
在这个字段中有一个这样的字符串:1:0, 2:0, 3:0, 4:3, 5:8, 6:9, 7:0, 8:0, 9:0
使用这种语法:skill_id:prio,skill_id:prio,skill_id:prio,skill_id:prio,...
现在我想将users
表格与这样的表格连接skills
起来:
SELECT skill_name
FROM users
inner join skills on skills.skill_id = ANY (string_to_array(regexp_replace(user_skill,':[0-9]*','','g'),',')::int[])
where user_id = 16
order by skill_name
这很好,但我只想看看skill_name
用户在哪里prio <> 0
。