ユーザーが購入したものを自分のアカウントに追加するアプリケーションがあります。彼らは、私の ebay 購入品などのリスト名を作成し、過去に購入したものを追加します。
彼らがリストを作成するとき、彼らはそれを公開するかどうかを選択できます。これが私が苦労しているところです。
製品のリストと、誰がどのリストにリストしたかを表示する必要がありますが、非公開リストにリストされている場合は、ユーザー名を非公開として、リスト名を非公開として表示します
4 つのテーブル:
製品
prod_id store_name product user_id
------- --------- ------- -------
1 ebay chair 1002
2 amazon desk 1000
3 ebay lamp 1001
ユーザー
user_id name
------- -------
1000 john
1001 mark
1002 sue
user_onto_list
user_onto_list_id user_id list_id
------- --------- -------
1 1000 11
2 1001 12
3 1002 10
list_detail
list_id visibility list_name
------- ------- ---------
10 open myEbayList
11 open myAmazonList
12 private myPrivateList
結果は次のようになります。
product listed_by list_name
------- --------- ---------
chair sue myEbayList
desk john myAmazonList
lamp PRIVATE PRIVATE
これは 1 つのクエリで可能ですか、それともデータの保存方法を再設計してよりシンプルにしますか? たとえば、sue がいつでも myEbatList を非公開にすることに決めた場合、製品は彼女によってリストされているとは表示されず、マークは彼のリストを公開することを決定する可能性があります。
アドバイスをいただければ幸いです