作者TheMatt (Gofight)
看板Database
标题[SQL ] 只完全符合条件
时间Mon Apr 9 16:11:31 2012
小弟是现在刚接触MySql的新手
现在遇到了一个要完全符合单一条件的状况
(例如 N = 11,就要列印出所有只符合N = 11的状况)
(同一ID可以有多个N,也可以重覆N,但是只要有一个N != 11 就要无视)
目前是只有where N = 11用到....
不过他会连着其他有 N = 其他数字 的都会叫到
那是否有什麽方式呼叫呢?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.124.250.209
1F:推 musie:至少列一下table栏位.. 04/09 17:40
以另一个类似看法的Table来想(个人感觉)
大概就像是
书架ID 书本类型
001 儿童书
002 儿童书
002 科普
我是要找只有放 儿童书 的书架ID
但是我目前的找法会两个都抓到
(002不是我想要的)
是要用什麽方法把他排除掉呢?
※ 编辑: TheMatt 来自: 140.124.250.209 (04/09 17:56)
找到了别的方法可以过了,顺便分享一下
看看还有没有更好的方法
select 书架ID from table
where not exists(select * from table where not(书本类型 = 儿童书))
这样子 ()会先抓出资料内至少有一条不等於儿童书的书架ID
(像是第三排的002)
然後外面的not exists再把他排除掉
这样子就可以得到我想要的那种
[找出 只有放置 儿童书 的书架]的感觉了
※ 编辑: TheMatt 来自: 140.124.250.209 (04/09 18:37)
2F:→ skyforest:=儿童书 and =1 试看看? 04/09 18:36
3F:→ TheMatt:那样子的做法我这边会变成syntax error 04/09 18:41
4F:推 hchu:group by having count(书架ID) =1 04/09 21:46