作者adoniscomes (adonis)
看板Database
标题[SQL ] 寻找特定栏位为Null之组别
时间Wed May 16 15:58:49 2018
资料库名称: 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), 来自: 210.71.217.243
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Database/M.1526457533.A.DC8.html
1F:推 adrianshum: Select distinct t.tno from steam t where not exist 05/17 20:02
2F:→ adrianshum: (select 1 from steam t1 inner join stb s1 on s1.s 05/17 20:02
3F:→ adrianshum: no=t1.sno where t1.tno =t.tno and s1.ymd is null) 05/17 20:02