作者cutekid (可爱小孩子)
看板Database
标题Re: [SQL ] 寻找特定栏位为Null之组别
时间Wed May 16 20:26:44 2018
select t2.tno
from stb t1
inner join sTeam on t1.sno = t2.sno
group by t2.tno
having count(*) = count(ym)
※ 引述《adoniscomes (adonis)》之铭言:
: 资料库名称: Oracle + PL-SQL
: 内容/问题描述:
: 学生Table stb 组别对应Table sTeam
: 学生编号 毕业年月 组别 学生编号
: sno ym tno sno
: 01 10704 1 01
: 02 1 02
: 03 10703 1 03
: 04 10701 2 04
: 05 10701 2 05
: 06 10701 2 06
: 07 3 07
: 08 3 08
: 09 3 09
: 10 10701 4 10
: 11 10702 4 11
: 12 10703 4 12
: 想要列出 『每个ym栏位均不为null』之组别:
: tno
: 2
: 4
: 目前想法写法是
: Select s2.tno
: From stb s1, sTeam s2
: Where s1.sno = s2.sno
: And s1.ym is null
: Group by s2.tno
: Having count(s.sno) = 0
: 但出来的结果似乎不太对...
: 有想到Not exist的方向但因为不熟所以不知道从何下手..
: 来这边请教众大神指导帮忙 感谢!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.168.26.228
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Database/M.1526473606.A.5C9.html
1F:推 adoniscomes: 感谢!原本一直执着於要用"ym是否为null"去滤,但这样 05/19 23:49
2F:→ adoniscomes: 也能达到相同功能 cool~ thx~ 05/19 23:49