投稿URLはどのテーブルにありますか?

データエクスプローラーを使って、ユーザーの投稿を表示するクエリを作成しています。投稿の URL を返すためにどのテーブルを使えばよいでしょうか?posts テーブルにあると思っていたのですが、見つかりません。

現在のクエリは以下の通りです。

SELECT u.email,c.name as post_category
 FROM posts p
left join user_emails u on p.user_id = u.user_id
left join topics t on p.topic_id=t.id
left join categories c on t.category_id = c.id
where p.created_at < '2021-03-01T00:00:00.000Z'
    GROUP BY
       u.email,u.user_id,c.name

よろしくお願いいたします。

「いいね!」 1

SQL では以下のように記述します。

'/t/-' || topics.id || '/' || posts.post_number

ご提示いただいた例では、以下のようになります。

SELECT u.email, c.name AS post_category, '/t/-' || t.id || '/' || p.post_number AS post_url
 FROM posts p
LEFT JOIN user_emails u ON p.user_id = u.user_id
LEFT JOIN topics t ON p.topic_id = t.id
LEFT JOIN categories c ON t.category_id = c.id
WHERE p.created_at < '2021-03-01T00:00:00.000Z'
    GROUP BY
       u.email, u.user_id, c.name
「いいね!」 5

ありがとうございます、素晴らしいです。

参考までに、ハイフンを含めると動作しませんでした。そのため、以下のようにしました。

'/t-/' || topics.id || '/' || posts.post_number

代わりに、以下を使用しました。

'/t/' || topics.id || '/' || posts.post_number

すべて解決しました :+1:

「いいね!」 5