Php 使用数组查找内部连接mysql

Php 使用数组查找内部连接mysql,php,mysql,sql,csv,inner-join,Php,Mysql,Sql,Csv,Inner Join,我有两个表,第一个是产品,其中有一些规格的产品列表,另一方面,我有一个客户表,他们想要什么类型的产品,他们可能想要一个列表中的任何城镇的产品,如下表所示 产品表状 | id | owner | userid | city | town | status | price | | 1 | jon spee | 10 | 10 | 4 | 0 | 10500 | | 2 | Hiss Roe | 10 | 7 | 9 | 0 | 20

我有两个表,第一个是产品,其中有一些规格的产品列表,另一方面,我有一个客户表,他们想要什么类型的产品,他们可能想要一个列表中的任何城镇的产品,如下表所示

产品表状

| id |   owner  | userid | city | town | status | price |
| 1  | jon spee |   10   |  10  |  4   |   0    | 10500 |
| 2  | Hiss Roe |   10   |  7   |  9   |   0    | 20000 |
| 3  | John Smi |   10   |  10  |  12  |   0    | 10000 |
| id | fullname | userid | city | towns | status | price |
| 1  | name 1   |   10   |  10  |4,8,6,2|   0    | 20000 |
| 2  | name 2   |   10   |  7   | 7,2,9 |   0    | 25000 |
| 3  | name 3   |   10   |  10  |  1    |   0    | 20000 |
客户表式

| id |   owner  | userid | city | town | status | price |
| 1  | jon spee |   10   |  10  |  4   |   0    | 10500 |
| 2  | Hiss Roe |   10   |  7   |  9   |   0    | 20000 |
| 3  | John Smi |   10   |  10  |  12  |   0    | 10000 |
| id | fullname | userid | city | towns | status | price |
| 1  | name 1   |   10   |  10  |4,8,6,2|   0    | 20000 |
| 2  | name 2   |   10   |  7   | 7,2,9 |   0    | 25000 |
| 3  | name 3   |   10   |  10  |  1    |   0    | 20000 |
MySQL查询:

SELECT *
FROM clients
INNER JOIN products
ON (
clients.userid = products.userid AND
clients.price >= products.price AND
clients.city = products.city AND
clients.status = products.status
我希望它也能在城镇中进行检查,比如它(动态地)执行此查询的每个城镇


您的主要工作应该是修复数据模型。不要在字符串列中存储多个整数值。您应该有一个单独的表来存储客户机和城镇之间的关系,每个元组位于单独的行上

也就是说:对于您当前的设计,您可以在
find\u in\u set()
上加入:


您的主要工作应该是修复数据模型。不要在字符串列中存储多个整数值。您应该有一个单独的表来存储客户机和城镇之间的关系,每个元组位于单独的行上

也就是说:对于您当前的设计,您可以在
find\u in\u set()
上加入:


您可以使用此查询

SELECT *
FROM clients
INNER JOIN products
ON (
clients.userid = products.userid AND
clients.price >= products.price AND
clients.city = products.city AND
find_in_set(clients.town, products.town) AND
clients.status = products.status

您还可以在php中获取它,并根据获取的结果创建语句

SELECT *
FROM clients
INNER JOIN products
ON (
clients.userid = products.userid AND
clients.price >= products.price AND
clients.city = products.city AND
find_in_set(clients.town, products.town) AND
clients.status = products.status

您也可以用php获取它,并根据获取的结果创建您的语句

非常感谢mate,我认为这一个会起作用♥非常感谢,伙计,我想这个会有用的♥