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


查询结果:


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

...全文
170 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大的?

56,675

社区成员

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

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