假设我有以下表格:Postgres的JOIN与UNNEST
table: followers_arrays
id | array
--------+---------
1 | {3,4,5}
table: small_profiles
id | username | pic
--------+----------+-------
3 | aaaa | abcd
4 | bbbb | abcd
5 | cccc | abcd
我想使用简单连接打印followers_array与填充的数据来自small_profiles。
起初,我使用UNNEST功能是这样的:
SELECT id, unnest(followers_array) AS elem FROM followers_arrays
,这让我对正确的结果:现在
id | elem
--------+--------
1 | 3
1 | 4
1 | 5
,从我的理解,我只需要加入这个数据到small_profiles ON small_profiles.id这样的键:
SELECT id, unnest(followers_array) AS elem
FROM followers_arrays
JOIN small_profiles ON small_profiles.instagram_id = elem
但是似乎在JOIN,列ELEM因为我碰到下面的错误不会创建尚未: 错误:列“ELEM”不存在
任何想法,我应该如何重新安排我的查询? 感谢
作品!你能告诉我为什么这是不好的设计? –
@Rafal没有理由拥有一个数组。简单的标准化会更好。 –
@ClodoaldoNeto为什么普通标准化会更好? – Roshambo