如果我要判断一个数是否在一个集合中,我可以这样做
select 1 from dual where (1) in (1,2,3)但如果我要判断一个集合是否被另外一个集合包含,如
select 1 from dual where (1,2) in (1,2,3)
这样写是不符合语法,只能将所有记录(1,2)插入一张表t1,
(1,2,3)插入另外一张表t2,然后查询t1是否有纪录不在t2中,
这样做固然可以解决问题,但是能不能不使用表,写一个函数
完成同样的功能?谢谢,欢迎参加讨论

解决方案 »

  1.   

    请看SQL中的Collection一节可以先建A, B两个Collection后,再用exists判断两个集合的包含关系
      

  2.   

    可以這樣判斷:
    select 1 from dual where 1 in (1,2,3) and 2 in (1,2,3)
      

  3.   

    jiazheng(飛天) 的方案确实能够解决问题,但是这不是通过集合来解决的。
      

  4.   

    感觉这样的需求不是sql来解决的用其他高级语言不是更好
      

  5.   

    把1,2,3加到表t2(col integer)中,
    select 1 from dual where (1,2) in (
    select a.col,b.col from t2 a,t2 b)