我的自定义嵌套SQL查询不起作用

时间:2017-03-11 16:42:42

标签: mysql sql

我的数据库中有一个名为store_products的表。

查询下方返回1

SELECT u_id FROM store_products WHERE p_id=1

我想通过该查询使用返回1以上获取公司详细信息。

所以我写了下面的查询,但它不适合我。

SELECT * FROM reg_companies WHERE u_id = ('SELECT u_id FROM store_products WHERE p_id=1')

请帮助我。

1 个答案:

答案 0 :(得分:2)

我想你想这样做:

SELECT * FROM reg_companies 
WHERE u_id IN (SELECT u_id FROM store_products WHERE p_id=1)

您已使用引号包围嵌套查询,这会将其转换为无意义的字符串。

更好的方法是在两个表之间进行连接

SELECT C.* 
FROM reg_companies C
INNER JOIN store_products P ON C.u_id=P.u_id
WHERE P.p_id=1