簡體   English   中英

mysql左行加入

[英]Mysql one row left join

我有兩個表:

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

我怎么只有一排?

您的要求是錯誤的。 您沒有指定適當的加入條件 您的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

可能更接近您的需求。

但是,我不太了解您的數據結構和實際需求,所以我想您必須對查詢進行一些細化...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM