从另一个表中的`where`子句中选择特定表中的值

时间:2013-01-17 23:15:09

标签: php mysql codeigniter

如何在单个MySQL查询中执行类似的操作?

select `value_a` 
from `table_1` 
where `value_b` = (select `value_b` from `table_2` where `value_c` = `x`);

我使用CodeIgniter,因此我可以使用Active Records。

1 个答案:

答案 0 :(得分:3)

您也可以使用JOIN

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'

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

select `value_a` 
from `table_1` 
where `value_b` = (select `value_b` from `table_2` where `value_c` = 'x);