我有一个很简单的问题要问你。
我有一张桌子
products [ID,Name,Category,Price]
Run Code Online (Sandbox Code Playgroud)
和一张桌子
product_client[ID,product_ID,client_ID]
Run Code Online (Sandbox Code Playgroud)
该产品表包含当然所有的产品,但什么product_client所做的是,它是存储一些产品是专为某个客户。
所以我为此写了一个小查询
SELECT *
FROM product
LEFT JOIN product_client ON product.ID = product_client.product_id
WHERE product_client.client_id =1
Run Code Online (Sandbox Code Playgroud)
一切正常,专门为该客户退回产品。但我想要的更多 -产品表就像一本字典,在该客户之上有他自己的产品。所以我需要得到整个products表,加上上面的查询输出。
有小费吗?以这种方式设置它是个好主意吗?
考虑以下情况:
我们要查询客户端 1。所以我们希望得到以下 id:1.2.5,因为 3 属于客户端 2,而数字 4 是一个全局产品(未分配)。任何未分配的都是全局产品。
products [ID,Name,Category,Price]
Run Code Online (Sandbox Code Playgroud)
product_client[ID,product_ID,client_ID]
Run Code Online (Sandbox Code Playgroud)
SELECT *
FROM product
LEFT JOIN product_client ON product.ID = product_client.product_id
WHERE product_client.client_id =1
Run Code Online (Sandbox Code Playgroud)
mysql ×1