高分求一个组合问题

guostong 2007-05-17 07:34:50
如果我要判断一个数是否在一个集合中,我可以这样做
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中,
这样做固然可以解决问题,但是能不能不使用表,写一个函数
完成同样的功能?

谢谢,欢迎参加讨论
...全文
218 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiazheng 2007-05-17
  • 打赏
  • 举报
回复
把1,2,3加到表t2(col integer)中,
select 1 from dual where (1,2) in (
select a.col,b.col from t2 a,t2 b)
HelloWorld_001 2007-05-17
  • 打赏
  • 举报
回复
感觉这样的需求不是sql来解决的

用其他高级语言不是更好
guostong 2007-05-17
  • 打赏
  • 举报
回复
jiazheng(飛天) 的方案确实能够解决问题,但是这不是通过集合来解决的。
jiazheng 2007-05-17
  • 打赏
  • 举报
回复
可以這樣判斷:
select 1 from dual where 1 in (1,2,3) and 2 in (1,2,3)
DragonBill 2007-05-17
  • 打赏
  • 举报
回复
请看SQL中的Collection一节

可以先建A, B两个Collection后,再用exists判断两个集合的包含关系

17,089

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧