我们有两张表:
产品和商店
一家商店本质上可以拥有许多产品。我们从 products 表中进行选择,但我们将其内部连接到 stores 表,以便我们只选择来自当前“活动”商店的产品。
但是,我们只希望在查看给定产品的不是 STORE OWNER 时发生这种行为。
所以,基本上我想要做的是有一个查询,我们可以将当前登录的 user_id 提供给查询,并对 stores 表进行连接。如果提供的 user_id 与 stores 表中的匹配,则它是商店所有者 - 我们应该允许他们查看产品 [这将本质上以不同的条件加入]。如果 user_id 与 stores 表中的不同,则它是普通用户,不应允许查看产品。
这是我的两个查询:
店老板
SELECT products.* from products
INNER JOIN stores
ON stores.id = products.store_id
AND stores.user_id = <supplied userid>
普通用户
SELECT products.* from products
INNER JOIN stores
ON stores.id = products.store_id
AND stores.is_active = 1
如果可能的话,我基本上想将它们整合到一个查询中。