0

我有两张桌子:

product_list :
id_list | name_product  | price |
1       |    test01     |   20  |
10      |    test02     |   50  |


people :

people_id | people_use_product  | people_list
35        |   test01            | 1
36        |   test02            | 1

他们可以访问列表 id 1 和 10。但同一产品可以在两行中。(因为该列表可用于许多列表人员)。我只需要得到一排。(=产品的价格)

SELECT * FROM people
INNER JOIN product_list ON (id_list=1 or id_list=10)
WHERE people_list = 1
LIMIT 0,100

我怎么能只有一排?

4

1 回答 1

0

你的要求是错误的。您没有指定适当的连接条件。您的 JOIN 实际上是在制作两张表的笛卡尔积,仅此而已。

如果 people.people_list 是您对 product_list 的外键:

SELECT * FROM people
INNER JOIN product_list ON (id_list = people_list) -- valid JOIN condition between two tables
WHERE ids_list = 1

可能更接近您的需求。

但是,我并不真正了解您的数据结构和您的实际需求,因此您必须稍微改进查询,我猜......

于 2013-06-11T12:29:59.293 回答