-1

我有两个类似这样的 MySQL 表:

工具所有者:

tool_owners_id | user_id | ...


工具:

tools_id | tool_owners_id | tool_name | ...


我有 user_id 和工具名称。我需要检查用户是否拥有特定工具。挑战在于这些信息(user_id 和 tool_name)位于单独的表中,其中的行由 tool_owners_id 链接。

如果有人想知道,我无法更改表格的结构。

我问的可能吗?我知道如何做到这一点的唯一方法是进行第一个查询,从 tool_owners 表中获取 tool_owners_id,然后从 tools 表中执行 COUNT(*) 的第二个查询,其中 tool_owners_id = xxx AND tool_name = xxxx。

谢谢你的帮助!

4

2 回答 2

3

使用连接

SELECT * 
FROM table1 
LEFT JOIN table2 
    ON table1.tool_owners_id=table2.tool_owners_id 
WHERE table1.user_id=1 
AND table2.tool_name='hammer'
于 2012-06-24T19:52:23.997 回答
0
select count(o.*) 
from tool_owners o
inner join tools t on t.tools_owners_id = o.tools_owners_id
where o.user_id = 123
and t.tool_name = 'toolname'
于 2012-06-24T19:52:51.900 回答