作者ling123 (白痴啦~)
看板Database
标题Re: [SQL ] 查询问题
时间Tue Jun 27 10:43:06 2006
刚刚没看到Table Schema
如果已经知道代号 那应该用不到FINE
所以变成
Select 牌照号码 from VIOLATION
where 违规代号 in('vip001','vip007')
Group by 牌照号码 having count(distinct 违规代号)=2
或
Select distinct 牌照号码 from VIOLATION a
Join VIOLATION b on a.牌照号码=b.牌照号码
where a.违规代号='vip001' and b.违规代号='vip007'
※ 引述《bm1983 (#2 16个耳洞丧礼之前)》之铭言:
: 在同一张资料表里我查了
: select distinct 牌照号码
: from dbo.violation,dbo.fine
: where dbo.violation.违规代号 = dbo.fine.违规代号
: and 违规项目 ='闯红灯'
: order by 牌照号码
: 结果为
: VIP001
: VIP003
: VIP007
: VIP011
: VIP013
: VIP015
: VIP019
: 我又查了
: select 牌照号码
: from dbo.violation,dbo.fine
: where dbo.violation.违规代号 = dbo.fine.违规代号
: and 违规项目 ='超速'
: order by 牌照号码
: 结果为
: VIP001
: VIP006
: VIP007
: VIP008
: VIP009
: 如果我想要查又超速又闯红灯的人(vip001和vip007)
: 请问应该要怎麽写查询?
: 谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 203.66.215.100
※ 编辑: ling123 来自: 203.66.215.100 (06/27 10:51)
※ 编辑: ling123 来自: 203.66.215.100 (06/27 10:54)
1F:推 bm1983:感恩~请问第一种方式是指超速或闯红灯超过一次的人列出吗ꄠ 06/27 10:49
2F:→ ling123:第一种也是同时有闯红灯跟超速 06/27 11:01
3F:推 bm1983:喔喔~那是因为加了distinct的关系吗? 06/27 11:24
4F:→ ling123:对阿 不过一都会用第二种方法 一目了然 06/28 08:16