我正在尝试构建一个基于 PHP 的 Web 软件,但遇到了一个我不知道解决方案语法的问题。
基本上,我有两张桌子:
+-------------+ +---------------+
| Certs | | Clients |
+-------------+ +---------------+
| userID | | eID |
| prodID | | prods |
| prodName | +---------------+
+-------------+
在这里,个人购买的每个产品都由他唯一的用户 ID 和产品的唯一 prodID 存储。
客户就像卖家,他们自己有不同的 ID,prods 是一串逗号分隔的产品 ID。
certs 表中的示例行如下所示:
userID | prodID | prodName
------------------------------
9000 | 42 | Pen
4234 | 54 | Pencil
9000 | 54 | Pencil
一个示例客户端行将如下所示:
eID | prods
-------------
595 | 42,54
现在,我需要形成一个查询,返回已购买特定卖家所有产品的所有用户 ID。
例如,对于卖家 ID 595,它应该返回 9000,因为用户 ID 9000 同时购买了 42 和 54。
为方便起见,可以修改表结构,但是由于其他技术问题,我无法创建与其卖家相关的标准化产品列表。
任何帮助将非常感激!谢谢~
注意:另一种说法是将卖家的产品列表保存在结果类型数组中。然后SELECT prodID FROM certs WHERE userID = x 最后检查 prodID 的结果数组是否包含数组 prods 的所有元素。