求SQL语句一条。

josph2012 2014-04-18 04:34:46
我有一张数据表,结构如下。


己知条件是attr_id=151或153,attr_value='4L'或‘SM’,所以写如下SQL语句。


SELECT * FROM 表名 FROM WHERE attr_id IN(151,153) AND attr_value IN('4L','SM')


查询结果:


这不是我想要的,我想只查出如下结果,该怎么写呢?

...全文
249 11 打赏 收藏 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
ACMAIN_CHM 2014-04-19
  • 打赏
  • 举报
回复
SELECT * FROM 表名 t
WHERE attr_id =153 and attr_value='4L'
and exists (select 1 from 表名 where attr_id =151 and attr_value='SM' and goods_id =t.goods_id )
josph2012 2014-04-19
  • 打赏
  • 举报
回复
取出attr_value值是SM和4L的数据,上图中goods_id是1035的满足条件,也就是第1和第2条。而下面的两条不满足条件,因为它们attr_value的值要不就满足4L,要不只满足SM。写SQL语句时的己知条件就只知道attr_value。 我写的SQL如下,但不好用。
SELECT * FROM table WHERE attr_value='4L' OR attr_value='SM'
josph2012 2014-04-19
  • 打赏
  • 举报
回复
引用 6 楼 benluobobo 的回复:
那你要想办法告诉服务器,你说的只有自己理解 你说的这个规则你要想办法描述出来
我说的简单一些。就是取出attr_value值同时是SM和4L的数据。 之所以是goods_id是1035,那是因为它的attr_value值那即是4L也是SM。
Rotel-刘志东 2014-04-18
  • 打赏
  • 举报
回复
select * from tb a where ID=(select max(goods_attr_id)from tb where Name=a.Name) order by goods_attr_id;
Rotel-刘志东 2014-04-18
  • 打赏
  • 举报
回复
取出重复数据中最大一条。
benluobo 2014-04-18
  • 打赏
  • 举报
回复
那你要想办法告诉服务器,你说的只有自己理解 你说的这个规则你要想办法描述出来
josph2012 2014-04-18
  • 打赏
  • 举报
回复
引用 4 楼 benluobobo 的回复:
如果你的需求是在goods_id 是1035里面去选择 SELECT * FROM 表名 FROM WHERE attr_id IN(151,153) AND attr_value IN('4L','SM') AND goods_id = 1035
..................... 1035是未知的,我描述的是个规则。还有1036、38、40等等符合这种情况的数据。
benluobo 2014-04-18
  • 打赏
  • 举报
回复
如果你的需求是在goods_id 是1035里面去选择 SELECT * FROM 表名 FROM WHERE attr_id IN(151,153) AND attr_value IN('4L','SM') AND goods_id = 1035
josph2012 2014-04-18
  • 打赏
  • 举报
回复
我是WEB程序员,不是专业DBA,这个问题给我难爆了。
josph2012 2014-04-18
  • 打赏
  • 举报
回复
引用 1 楼 benluobobo 的回复:
你为什么要取id是54和52的 而不是另外的 必须还需要一个条件,是否是取ID大的?
我要的这两条数据goods_id都是1035,这不是一种巧合,都是有原因的。 要在是attr_id值要等于151或153的所有记录中查找,attr_value的值要等于4L和SM。 这也就是说goods_id等于1035这条数据,必须是attr_value又等于4L,又等于SM。
benluobo 2014-04-18
  • 打赏
  • 举报
回复
你为什么要取id是54和52的 而不是另外的 必须还需要一个条件,是否是取ID大的?
摘 要 针对高校教师教学业绩管理流程复杂、数据填报不规范、多级审核效率低、统计分析滞后等问题,本文设计并实现一套基于SpringBoot+Vue前后端分离架构的高校教师教学业绩综合管理系统。系统后端以SpringBoot处理业务逻辑与接口开发,前端用Vue构建交互界面,MySQL存储数据,MD5加密保障账号安全,具备低耦合、易扩展、易维护特性。 系统按权限划分为教师、学院管理员、学校管理员三级角色,构建闭环式业绩管理体系。教师可完成信息维护、业绩录入、成果申报、审核跟踪、档案导出、智能咨询与社区互动;学院管理员负责教师管理、业绩初审、数据汇总、通知发布与修正申请;学校管理员承担权限分配、数据维护、业绩终审、统计分析、公告发布与日志审计。 系统实现业绩填报、初审、终审、统计归档全流程线上化,支持批量导入、敏感词过滤、数据可视化、7×24小时AI咨询等功能,规范管理流程、减少统计误差、提升审核效率。测试表明,系统满足高校教学业绩精细化、规范化、信息化管理需求,为教师考核、绩效评定、教学评估提供数据支撑,提升高校教学管理智能化水平。 关键词: SpringBoot;Vue;教学业绩管理;三级权限;前后端分离

57,062

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧