高分求一个组合问题
如果我要判断一个数是否在一个集合中,我可以这样做
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中,
这样做固然可以解决问题,但是能不能不使用表,写一个函数
完成同样的功能?
谢谢,欢迎参加讨论
------解决方案--------------------请看SQL中的Collection一节
可以先建A, B两个Collection后,再用exists判断两个集合的包含关系
------解决方案--------------------可以這樣判斷:
select 1 from dual where 1 in (1,2,3) and 2 in (1,2,3)
------解决方案--------------------感觉这样的需求不是sql来解决的
用其他高级语言不是更好
------解决方案--------------------把1,2,3加到表t2(col integer)中,
select 1 from dual where (1,2) in (
select a.col,b.col from t2 a,t2 b)