2
我有一個應用程序,用戶將他們購買的東西添加到他們的帳戶。他們創建列表名稱,例如我的eBay收購,然後添加他們以前買過的東西。數據庫重新設計或複雜的4種方式加入查詢
當他們創建列表,他們可以選擇是否其公共與否,而這正是我掙扎。
我需要顯示的產品列表,誰列出他們在這名單,但如果他們上市到私有列表則顯示用戶名作爲私人和列表名稱爲私有
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
在一個查詢這是可能的,還是會重新設計數據的存儲方式,使其更簡單?我寧願保持這樣,所以如果例如起訴決定讓她的myEbatList在任何時候都是私密的,那麼產品不會顯示爲被她列出,並且商標可能決定公開他的名單。
諮詢讚賞
真棒,非常感謝! –
@達倫:很高興幫助! – davek
一個問題,如果我可以,用戶可以添加一個產品,然後離開應用程序,但我留下的產品在那裏進行數據挖掘和搜索等。這個查詢可以修改爲只顯示某人實際上在他們的名單上的產品?所以將產品e,g,顯示器添加到產品表中,但它不會顯示在結果集中,因爲沒有人在列表中顯示它 - 希望這一點很清楚 - 再次感謝 –