我想使用来自my_table上查询的ID来从my_table_2中选择所有field_b行。MySQL子查询IN结果
SELECT field_b
FROM my_table_2
WHERE my_id_2 IN (
SELECT my_id FROM my_table WHERE field_a = 1234
);
我得到ERROR 1054 (42S22): Unknown column 'my_id_2' in 'IN/ALL/ANY subquery'
执行上述查询。
以下是参考比如我的表:
mysql> select * from my_table;
+-------+---------+
| my_id | field_a |
+-------+---------+
| 1 | 1234 |
+-------+---------+
| 2 | 1234 |
+-------+---------+
2 row in set (0.00 sec)
mysql> select * from my_table_2;
+-------+-----------+
| my_id_2 | field_b |
+---------+---------+
| 1 | 5678 |
+-------+-----------+
1 row in set (0.00 sec)
也许尝试使用全名,即'WHERE my_table_2.my_id_2 IN(...)' – ain