2012-06-24 87 views
-1

我有兩個MySQL表是這樣的:如何在涉及兩個表時檢查是否存在行?

tool_owners:

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,然後執行COUNT(*)的第二個查詢,其中tool_owners_id = xxx AND tool_name = xxxx來自工具表。

感謝您的幫助!

+2

谷歌 「的MySQL連接」,你會是一個非常,非常開心編碼器。 – ceejayoz

+0

你想關聯user_id和tool_name? –

回答

3

使用JOIN

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' 
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'