使用“where”子句在另一个表上从特定表中选择一个值

Zim*_*m3r 0 php mysql codeigniter

我怎样才能在单个 MySQL 查询中做这样的事情?

select `value_a` 
from `table_1` 
where `value_b` = (select `value_b` from `table_2` where `value_c` = `x`);
Run Code Online (Sandbox Code Playgroud)

我使用 CodeIgniter,所以我可以使用 Active Records。

Tar*_*ryn 5

您也可以JOIN为此使用 a :

select t1.value_a
from table_1 t1
inner join table_2 t2
  on t1.value_b = t2.value_b
where t2.value_c = 'x'
Run Code Online (Sandbox Code Playgroud)

您也可以使用现有的查询,但x周围是反引号而不是单引号:

select `value_a` 
from `table_1` 
where `value_b` = (select `value_b` from `table_2` where `value_c` = 'x);
Run Code Online (Sandbox Code Playgroud)