问题描述
嗨,汤姆,
我有一个SELECT查询,它有大约10个表,在10个表中有2个是大表,其余是小表。这2个大表一起有90条laks记录。当我执行这个查询时,它会抛出我的错误,说表空间错误。所以我检查了计数,知道,这个查询返回3000万行,而不是90 laks行。我已经使用了所有可能的列来连接表格。
当我删除任何一个表 (从2个较大的表),它是给我正确的行。我尝试过删除表 'A' 并保留表 'B',反之亦然。如果我在脚本中有其中任何一个,那么一切都很好,问题是当两者都在脚本中时。我也尝试过不同的加入。是使用子查询或任何其他方式的任何方式,请详细说明。
注意: 我已要求管理员增加表空间,无法回答。
请帮帮我。
谢谢
帕布
我有一个SELECT查询,它有大约10个表,在10个表中有2个是大表,其余是小表。这2个大表一起有90条laks记录。当我执行这个查询时,它会抛出我的错误,说表空间错误。所以我检查了计数,知道,这个查询返回3000万行,而不是90 laks行。我已经使用了所有可能的列来连接表格。
当我删除任何一个表 (从2个较大的表),它是给我正确的行。我尝试过删除表 'A' 并保留表 'B',反之亦然。如果我在脚本中有其中任何一个,那么一切都很好,问题是当两者都在脚本中时。我也尝试过不同的加入。是使用子查询或任何其他方式的任何方式,请详细说明。
注意: 我已要求管理员增加表空间,无法回答。
请帮帮我。
谢谢
帕布
专家解答
这听起来不像是一个调整问题-这是一个正确的问题。
如果我有一个查询,做:
那么要么
1) 我的结果是正确的,或者
2) 我的结果不正确,因为我的SQL错误,或者
3) 我的结果不正确,因为这些表不应该被连接
在这种情况下,它是 “2” (我缺少一个连接),但是如果你正在连接2个表,并且 * 仍然 * 得到很多重复,那么在我看来,这是两个表,不打算被连接。
如果我有一个查询,做:
SQL> select *
2 from scott.dept, scott.emp
3 where job = 'CLERK';
DEPTNO DNAME LOC EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- -------------- ------------- ---------- ---------- --------- ---------- --------- ---------- ---------- ----------
10 ACCOUNTING NEW YORK 7369 SMITH CLERK 7902 17-DEC-80 800 20
10 ACCOUNTING NEW YORK 7876 ADAMS CLERK 7788 12-JAN-83 1100 20
10 ACCOUNTING NEW YORK 7900 JAMES CLERK 7698 03-DEC-81 950 30
10 ACCOUNTING NEW YORK 7934 MILLER CLERK 7782 23-JAN-82 1300 10
20 RESEARCH DALLAS 7369 SMITH CLERK 7902 17-DEC-80 800 20
20 RESEARCH DALLAS 7876 ADAMS CLERK 7788 12-JAN-83 1100 20
20 RESEARCH DALLAS 7900 JAMES CLERK 7698 03-DEC-81 950 30
20 RESEARCH DALLAS 7934 MILLER CLERK 7782 23-JAN-82 1300 10
30 SALES CHICAGO 7369 SMITH CLERK 7902 17-DEC-80 800 20
30 SALES CHICAGO 7876 ADAMS CLERK 7788 12-JAN-83 1100 20
30 SALES CHICAGO 7900 JAMES CLERK 7698 03-DEC-81 950 30
30 SALES CHICAGO 7934 MILLER CLERK 7782 23-JAN-82 1300 10
40 OPERATIONS BOSTON 7369 SMITH CLERK 7902 17-DEC-80 800 20
40 OPERATIONS BOSTON 7876 ADAMS CLERK 7788 12-JAN-83 1100 20
40 OPERATIONS BOSTON 7900 JAMES CLERK 7698 03-DEC-81 950 30
40 OPERATIONS BOSTON 7934 MILLER CLERK 7782 23-JAN-82 1300 10
那么要么
1) 我的结果是正确的,或者
2) 我的结果不正确,因为我的SQL错误,或者
3) 我的结果不正确,因为这些表不应该被连接
在这种情况下,它是 “2” (我缺少一个连接),但是如果你正在连接2个表,并且 * 仍然 * 得到很多重复,那么在我看来,这是两个表,不打算被连接。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




