1
說我有兩個表:的帖子和嵌入。帖子中的每個帖子可以具有與其相關聯的嵌入的數量,其具體順序必須保留。該查詢似乎工作,產生如下圖所示爲«Post_embeds»結果:在Postgres中做JOIN時保留數組中項目的順序
SELECT p.id AS pid, array_agg(e.code) AS code
FROM posts p, unnest(p.embeds) embed_id
JOIN embeds e ON e.id = embed_id
GROUP BY p.id;
正如你所看到的,順序嵌入被保留。但後來我創建的視圖post_embeds,並試圖查詢這個觀點:
SELECT * FROM post_embeds WHERE pid=1
嵌入視頻的順序不見了。我懷疑我的第一個疑問不能保證順序,畢竟它只是巧合。
如何正確查詢與相關嵌入的一些帖子,保存順序?
只是因爲數據被張貼圖片沒有文字,我不給予好評此。 –
'WITH ORDINALITY' *可以解決你的問題,但是如何修復你的模式呢?你應該有一個聯結表,比如'post_x_embed(post_id,embed_id,order)',你甚至可以使用外鍵...... – pozs