我有两张桌子:
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
我怎么才能只有一行?
答案 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
可能更贴近您的需求。
但是,我并不真正了解您的数据结构和您的实际需求,所以您必须稍微改进一下查询,我猜...