सबसे आसान विकल्प आम तौर पर कुछ इस तरह होता है
SQL> ed
Wrote file afiedt.buf
1 with x as (
2 select 1 id, 1 val from dual union all
3 select 1 id, 2 val from dual union all
4 select 1 id, 3 val from dual union all
5 select 2 id, 1 val from dual union all
6 select 2 id, 2 val from dual union all
7 select 3 id, 1 val from dual union all
8 select 3 id, 2 val from dual union all
9 select 3 id, 3 val from dual union all
10 select 4 id, 1 val from dual
11 )
12 select id
13 from x
14 where val in (1,2,3)
15 group by id
16* having count(distinct val) = 3
SQL> /
ID
----------
1
3
WHERE
क्लॉज उन मानों की पहचान करता है जिनमें आपकी रुचि है। HAVING
खंड आपको बताता है कि उनमें से कितने मूल्यों का अस्तित्व होना आवश्यक है। उदाहरण के लिए, यदि आप उन सभी पंक्तियों को चाहते हैं जिनमें 3 में से कम से कम 2 मान हों, तो आप HAVING
को बदल देंगे COUNT
. देखने के लिए क्लॉज 2 का
यदि कोई विशेष val
प्रति id
. में अधिकतम एक बार होने की गारंटी है , आप distinct
. को समाप्त कर सकते हैं HAVING
. में खंड।