-1

ListingCategoryテーブルとListingテーブルにそれぞれカテゴリとリスティングを保存しています。

リストは多くのカテゴリに保存でき、カテゴリには多くのリストを含めることができます。これらは、テーブル *ListingCategory_Listings* によって結合されます。

ID | ListingCategoryID | ListingID

リストが特定の条件を満たすすべての ListingCategories をどうにかして取得する必要があります。

例として、食べ物、飲み物、宿泊施設などのカテゴリを想像してください。

バーのリストは食べ物と飲み物にリンクされ、ホテルは食べ物、飲み物、宿泊施設にリンクされ、ホステルは宿泊施設などにリンクされます。

これらのリスティングはそれぞれ地理コード化されており、決定された地理的位置から X マイル以内にリスティングがあるカテゴリを表示できるようにしたいと考えています。したがって、バーだけが X マイル以内にある場合は、Food and Drink を表示します。ホステルだけがこの半径に収まる場合、宿泊施設などのみを表示します。距離を計算するロジックはありますが、目的の結果を得る方法がわかりません

最後に… ひどい投稿タイトルで申し訳ありません

4

1 に答える 1

2

次のように単純にする必要があります

SELECT DISTINCT c.ID, c.name
FROM ListingCategory c
   JOIN ListingCategory_Listings lc
      ON c.ID = lc.ListingCategoryID
WHERE lc.ListingID IN (<list of listings comma separated>)
于 2012-10-16T22:07:53.417 に答える