タイトルが紛らわしい場合はお詫び申し上げます。本質的には、階層の最下位に個々の項目を持つカテゴリ、グループ、コレクションなどの階層テーブルのセットがあります。sub_itemsが存在する場合、カテゴリを返すSQLクエリAND sub_itemsがカテゴリ外に存在する場合は 'other name'
全体的に見ると、カテゴリ>グループ化>コレクション>アイテムのようなものがあります。ただし、一部のアイテムはコレクションの一部ではありません。私が必要とするのは、与えられた検索語に対してCollection内に少なくとも1つのItemが存在する場合はCollectionの詳細を返し、CategoryやGrouping内に項目が存在していない場合は 'Other'(フラグ値など)を返します。 Collection(外部キー 'collection_id'はこの場合はnullになります)。
私が達成しようとしている結果のようなものです:
Collection Name 1
Item
Item
...
Collection Name 2
Item
Item
...
Collection Name X
Item
...
Other Items
Item
Item
...
が、それは1つのクエリでこれを行うために(十分な、簡単な)ことは可能ですか?
部分的なテーブル構造はありますか?階層的なデータを実装するには、さまざまな方法があります。 – NotMe
残念ながら、私は私の前に構造を持っていない - 私はそれが信じるものを投稿するつもりだったが、私は明日まで正確さを確かめることができない。これはシンプルな階層構造ですが、各テーブルはPKを持ち、FKはFKの階層構造の上位3つのテーブルにリンクしている項目を除いて、構造のすぐ下にあるテーブルにFKします。回答がない場合、私は明日の朝に構造サンプルをOPに更新します。 – thor