このような SO エントリが他にもたくさんあることは知っていますが、実際に私の質問に答えるエントリが見つからないので、誰かがそれに答えるか、関連する別の SO の質問を教えてくれることを願っています。
基本的に、検索された(この例では「foobar」)を含むVenue
s を持つ sを返す次のクエリがあります。CheckIn
Keyword
SELECT DISTINCT v.*
FROM "venues" v
INNER JOIN "check_ins" c ON c."venue_id" = v."id"
INNER JOIN "keywordings" ks ON ks."check_in_id" = c."id"
INNER JOIN "keywords" k ON ks."keyword_id" = k."id"
WHERE (k."name" = 'foobar')
したいのSELECT
と、指定された ごとORDER BY
に一致したの数。たとえば、 に関連付けられた 5 つの が作成された場合、ソートされた値を含む( のようなものと呼ばれる) 列が返されるはずです。Keyword
Venue
CheckIn
Keyword
keyword_count
5
SELECT
理想的には、これは句にクエリを使用せずに実行するか、できればまったくクエリを使用しないで実行する必要があります。
私はしばらくこれに苦労してきましたが、頭が真っ白になりました(おそらく1日が長すぎました)ので、ここでいくつかの助けをいただければ幸いです.
前もって感謝します!