假设以下结构:
CREATE SCHEMA IF NOT EXISTS my_schema; CREATE TABLE IF NOT EXISTS my_schema.user ( id SERIAL PRIMARY KEY, tag_id BIGINT NOT NULL ); CREATE TABLE IF NOT EXISTS my_schema.conversation ( id SERIAL PRIMARY KEY, user_ids BIGINT[] NOT NULL );
INSERT INTO my_schema.user VALUES (1, 55555), (2, 77777); INSERT INTO my_schema.conversation VALUES (1, '{1,2}');
如果我知道my_schema.user.id
值,我可以拉出my_schema.conversation
记录:
SELECT * FROM my_schema.conversation WHERE user_ids @> '{1}'
以上方法有效,但我需要使用my_schema.user.tag_id
而不是my_schema.user.id
:
我该怎么做?
不停摆弄