MySQL内部联接,其中列=(可能的值列表)

问题描述 投票:0回答:1

找不到答案。基本上我有两个这样的表:

表1:

id  name
 1   john
 2   bill
 3   tim

表2:

prodid value
  1     blar
  2     test
  3      meh

我想做一个连接,在其中我根据为table1.name指定的值列表返回table2.value列

所以我有(john,tim)的值列表

我认为这会起作用:

select table2.value, table1.name 
from table2
inner JOIN
table1 on 
table2.prodid in (select id from table where name in ('john', 'tim'))

但是这将返回大量结果,并返回不在我的名称列表中的列。

我确定它有些愚蠢,但任何指向即时通讯出现问题的地方吗?

谢谢!

mysql
1个回答
0
投票

具有过滤条件的简单联接应该执行:

select
  t1.name,
  t2.value
from table2 t2
join table1 on t1.id = t2.prodid
where t1.name in ('john', 'tim')
© www.soinside.com 2019 - 2024. All rights reserved.