Mysql 如何隔离查询以查找特定字段?
以下是我正在使用的数据库: 我正在尝试创建一个查询,以输出仅的学者(acnum) 对“数据”(描述)字段感兴趣 我试过这个:Mysql 如何隔离查询以查找特定字段?,mysql,sql,join,sql-like,Mysql,Sql,Join,Sql Like,以下是我正在使用的数据库: 我正在尝试创建一个查询,以输出仅的学者(acnum) 对“数据”(描述)字段感兴趣 我试过这个: select acnum from interest where upper(descrip) like '%DATA%'; 它部分起作用,它找到了对名称中包含“数据”的字段(descrip)感兴趣的学者(acnum),但它也列出了除了“数据”字段之外还有其他兴趣的学者(acnum),我如何找到只对“数据”字段(descrip)感兴趣的学者(acnum) 谢谢。要获得只
select acnum
from interest
where upper(descrip) like '%DATA%';
它部分起作用,它找到了对名称中包含“数据”的字段(descrip)感兴趣的学者(acnum),但它也列出了除了“数据”字段之外还有其他兴趣的学者(acnum),我如何找到只对“数据”字段(descrip)感兴趣的学者(acnum)
谢谢。要获得只对“数据”字段(descrip)感兴趣的学者(acnum),您可以使用以下查询和一些聚合来满足您的条件
SELECT acnum
FROM interest
GROUP BY acnum
HAVING COUNT(*) = SUM(CASE WHEN UPPER(descrip) LIKE '%DATA%' THEN 1 ELSE 0 END)
另一种方法——如果你想要更多关于学术的专栏——是不存在:
select a.*
from academics a
where not exists (select 1
from interest i
where a.acnum = i.acnum and upper(descrip) like '%DATA%'
);
如果使用MySQL,那么它可以缩写为SUM(x类似于“%y%”)。您可以提供结果数据
和预期数据