我的数据库中有一个名为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')
请帮助我。
答案 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