首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >仅由数据所有者选择两个表之间的排序值

仅由数据所有者选择两个表之间的排序值
EN

Stack Overflow用户
提问于 2016-01-09 05:11:05
回答 1查看 29关注 0票数 0

我想显示产品细节订单的供应商谁张贴该产品。

例:

产品表

代码语言:javascript
复制
| ProductIDs | VendorIDs | ProductsName |
----------------------------------------
|    04      |    1      |    Shirt    |
|    05      |    2      |    Pants    |

客户A来自供应商A的订单productid 04和来自供应商B订单表的productid 05应该是:

订单表(客户A= 1,供应商A= 1,供应商B= 2)

代码语言:javascript
复制
| OrderIDs | VenderIDs | ProductIDs | CustomerIDs |
---------------------------------------------------
|    1     | 1, 2      |   04, 05   |      1      |

当供应商A选择订单列表时,我希望仅由供应商A或供应商B显示ORDERPRODUCT详细信息,如下所示:

供应商A收入订单页面。

代码语言:javascript
复制
| OrderIDs | ProductIDs | CustomerIDs | ProductsName |
------------------------------------------------------
|    1     |     04     |      1      |     Shirt    |
------------------------------------------------------

供应商B收入订单页面。

代码语言:javascript
复制
| OrderIDs | ProductIDs | CustomerIDs | ProductsName |
------------------------------------------------------
|    1     |     05     |      1      |    Pants     |
------------------------------------------------------

还有客户订购单页面。

代码语言:javascript
复制
| OrderIDs | ProductIDs | ProductsName |
----------------------------------------
|    1     |   04, 05   | Shirt, Pants |
----------------------------------------

这是我为选定的订单使用的代码。SELECT * FROM Order WHERE FIND_IN_SET(1, VendorIDs)--这段代码将仅由ProductsName字段中的第一个值显示,如下所示。

代码语言:javascript
复制
| OrderIDs | ProductIDs | CustomerIDs | ProductsName |
------------------------------------------------------
|    1     |     04     |      1      |    Shirt     |
------------------------------------------------------

当我将(1, VendorIDs)更改为(2, VendorIDs)时,它将显示在相同的结果中。

非常感谢。

EN

回答 1

Stack Overflow用户

发布于 2016-01-09 06:04:01

首先:您不应该在order表中有Vendor ID。(如果您需要关联订单ID和供应商ID,则可以通过查询实现这一点。)

第二:每个ProductID都应该在Orders表中有自己的记录:

代码语言:javascript
复制
| OrderIDs | ProductIDs | CustomerIDs |
---------------------------------------------------
|    1     |   04       |      1      |
|    1     |   05       |      1      |

第三:我假设您总是有一个与每个订单相关的客户,对于这样的一个订单,您不太可能有两个不同的客户:

代码语言:javascript
复制
| OrderIDs | ProductIDs | CustomerIDs |
---------------------------------------------------
|    1     |   04       |      1      |
|    1     |   05       |      5      |

因此,客户ID不属于列出订单详细信息的表。相反,您应该有一个OrderDetails表:

代码语言:javascript
复制
| OrderID | ProductID | 
-----------------------
|    1    |   04      |
|    1    |   05      |
|    2    |   09      |

命令表:

代码语言:javascript
复制
| OrderID | CustomerID |
------------------------
|    1    |      1     |
|    2    |      5     |
|    3    |      5     |

如果您在重新配置您的表后有任何问题,请告诉我,我可以帮助您。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34689935

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档