Mysql 使用IN语句组合两个SQL查询

Mysql 使用IN语句组合两个SQL查询,mysql,sql,Mysql,Sql,我有sql查询: SELECT DISTINCT project_id FROM projects WHERE (meta_key = "Project Name" AND meta_value LIKE '%t%' ) 这是回报 project_id 251 299 302 319 317 307 310 312 371 364 365 366 368 我还有一个疑问: SELECT DISTINCT project_id FROM tags WHERE (tag LIKE '%t%

我有sql查询:

SELECT DISTINCT project_id 
FROM projects 
WHERE  (meta_key = "Project Name" AND meta_value LIKE '%t%' )
这是回报

project_id
251
299
302
319
317
307
310
312
371
364
365
366
368
我还有一个疑问:

SELECT DISTINCT project_id
FROM tags
WHERE (tag LIKE '%t%')
这将返回:

project_id
251
我尝试将这两条语句与中的
语句结合起来,以达到相交

SELECT DISTINCT project_id 
FROM projects 
WHERE (meta_key = "Project Name" AND meta_value LIKE '%t%' )
IN (SELECT DISTINCT project_id
    FROM tags
    WHERE (tag LIKE '%t%'))
然而,我对结果一无所获

project_id
我想我应该

project_id
251
我在这里是否正确使用了
语句中的
?如果没有,我应该使用哪个工具来完成此任务。谢谢。

只需将项目id分配给
子句表达式中的
。现在,
IN()
计算other
的布尔逻辑,其中
条件和False或True永远不会等于三位整数

...
WHERE (meta_key = 'Project Name' AND meta_value LIKE '%t%' )
AND project_id IN (SELECT DISTINCT project_id
                   FROM tags
                   WHERE (tag LIKE '%t%'))
只需将项目id分配给
子句表达式中的
。现在,
IN()
计算other
的布尔逻辑,其中
条件和False或True永远不会等于三位整数

...
WHERE (meta_key = 'Project Name' AND meta_value LIKE '%t%' )
AND project_id IN (SELECT DISTINCT project_id
                   FROM tags
                   WHERE (tag LIKE '%t%'))

请看,谢谢您的回复。我很难理解为什么这样做。你有一个例子说明在这种情况下,IN是如何工作的。
选择DISTINCT
对于
IN
@jackana3是不必要的。。。我解释为什么你先前的尝试没有成功。只需在表达式中的
中引用
项目ID
。不客气。很高兴为您提供帮助。感谢您的回复。我很难理解为什么这样做。你有一个例子说明在这种情况下,IN是如何工作的。
选择DISTINCT
对于
IN
@jackana3是不必要的。。。我解释为什么你先前的尝试没有成功。只需在表达式中的
中引用
项目ID
。不客气。很乐意帮忙。