Mysql连续一行加入

时间:2013-06-11 12:14:31

标签: php mysql

我有两张桌子:

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

我怎么才能只有一行?

1 个答案:

答案 0 :(得分:0)

您的要求错了。您没有指定足够的join condition。你的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

可能更贴近您的需求。

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