【吐血请教】sql查询语句

wushuai1346 2013-06-09 11:02:14


求助,查询 (Attr = Length 并且 Value = 6.00000) 并且 (Attr = DIAM 并且 Value = 0.250000) 并且 (Attr = TIP 并且 Value = FLAT) 的 ID_ITEM,我感觉这玩意爆难,要吐血了.求教大神解答,谢过先。不清楚的话尽管问哈。
...全文
183 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
唐诗三百首 2013-06-10
  • 打赏
  • 举报
回复

select distinct ID_ITEM
 from [表名]
 where (Attr='Length' and Value='6.00000')
    or (Attr='DIAM' and Value='0.250000') 
    or (Attr='TIP' and Value='FLAT')
铁歌 2013-06-10
  • 打赏
  • 举报
回复
SELECT DISTINCT ID_ITEM
FROM TABLENAME
(Attr = 'Length' AND Value = 6.00000)
OR (Attr = 'DIAM' OR Value = 0.250000)
OR (Attr = 'TIP' AND Value = 'FLAT')

--算是基础SQL,不需要GROUP BY也行的,GROUP BY是比较消耗CPU的操作,能不用就别用
哥眼神纯洁不 2013-06-09
  • 打赏
  • 举报
回复
引用 3 楼 spiritofdragon 的回复:
既然都distinct了,就=3就行了。>3也不可能出现。
恩,是这样的...
spiritofdragon 2013-06-09
  • 打赏
  • 举报
回复
既然都distinct了,就=3就行了。>3也不可能出现。
wushuai1346 2013-06-09
  • 打赏
  • 举报
回复
引用 1 楼 sc273607742 的回复:
select id_item from (select distinct * from 表)a where (Attr = Length and Value = 6.00000) or (Attr = DIAM and Value = 0.250000) or (Attr = TIP and Value = FLAT) group by id_item having count(1)>=3
我了个去,大哥碉堡了,你是怎么做到的?能不能给俺大概讲讲啊,太牛叉了.
哥眼神纯洁不 2013-06-09
  • 打赏
  • 举报
回复
select id_item from (select distinct * from 表)a where (Attr = Length and Value = 6.00000) or (Attr = DIAM and Value = 0.250000) or (Attr = TIP and Value = FLAT) group by id_item having count(1)>=3
裸奔的蜗牛 2013-06-09
  • 打赏
  • 举报
回复
楼主 你.......

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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