我有一个应用程序,用户可以在其中将他们购买的东西添加到他们的帐户中。他们创建一个列表名称,例如我的 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
这是否可以在一个查询中实现,或者您是否会重新设计数据的存储方式以使其更简单?我宁愿保持这种状态,因此如果例如 sue 决定在任何时候将她的 myEbatList 设为私有,则产品不会显示为由她列出,并且 mark 可能会决定公开他的列表。
建议赞赏