sqlplus中有多个重复的行

艾德斯(Iids)太阳镜Tnt

我正在使用oracle 10g设计器和sqlplus在数据库系统上工作。我必须创建多个查询,大多数查询很容易,但有些查询却存在一些问题。

我在这里有一个查询,当运行实际上返回204行数据时,它实际上应该返回17行数据。这些行似乎会重复自身12次。我无法解决这个问题。已经好几个小时了。我正在提交代码,有关查询外观的屏幕截图(scs表单),ERD,结果的屏幕截图以及说明计划表的输出。重复的行是最后10列的结果。

有人可以帮忙吗?

COLUMN C_FNAME FORMAT A10
COLUMN C_LNAME FORMAT A10
COLUMN C_ORG FORMAT A35
COLUMN C_ADR FORMAT A35
COLUMN C_CNUM FORMAT 9999999
COLUMN E_ID FORMAT A7
COLUMN E_NAME FORMAT A35
COLUMN E_FTIME FORMAT A21
COLUMN E_STIME FORMAT A21
COLUMN ET_DESC FORMAT 10
COLUMN V_NAME FORMAT A30
COLUMN V_ADDRESS FORMAT A35
COLUMN V_CNUM FORMAT 9999999
COLUMN D_DESC FORMAT A30
COLUMN D_AMT FORMAT A3
COLUMN ST_DESC FORMAT A15
COLUMN S_FNAME FORMAT A15
COLUMN S_LNAME FORMAT A15
COLUMN EQ_TYPE FORMAT A15
COLUMN EQ_DESC FORMAT A15
COLUMN EQ_AMT FORMAT A3
COLUMN SU_NAME FORMAT A40
BREAK ON C_FNAME ON C_LNAME ON C_ORG ON C_ADR ON C_CNUM ON E_ID ON E_NAME ON E_STIME ON E_FTIME ON ET_DESC ON V_NAME ON V_ADDRESS ON V_CNUM ON D_DESC ON D_AMT ON EQ_TYPE ON EQ_DESC ON EQ_AMT ON SU_NAME
SELECT C_FNAME, C_LNAME, C_ORG, C_ADR, C_CNUM, E_ID, E_NAME, E_FTIME, E_STIME, ET_DESC, V_NAME, V_ADDRESS, V_CNUM, D_DESC, D_AMT, ST_DESC, S_FNAME, S_LNAME, EQ_TYPE, EQ_DESC, EQ_AMT, SU_NAME
FROM CUSTOMER, EVENTTYPE, STAFFTYPE, VENUE, EVENT, STAFF, EVENT_DISHES, EVENT_EQUIPMENT, EVENT_STAFF, DISHES, EQUIPMENT, SUPPLIER
WHERE E_ID ='E000001'
AND CUSTOMER.C_ID = EVENT.C_C_ID
AND EVENTTYPE.ET_ID = EVENT.ET_ET_ID
AND VENUE.V_ID = EVENT.V_V_ID
AND EVENT_DISHES.E_E_ID = EVENT.E_ID
AND EVENT_DISHES.D_D_ID = DISHES.D_ID
AND EVENT_EQUIPMENT.E_E_ID = EVENT.E_ID
AND EVENT_EQUIPMENT.EQ_EQ_ID = EQUIPMENT.EQ_ID
AND EQUIPMENT.SU_SU_ID = SUPPLIER.SU_ID
AND EVENT_STAFF.E_E_ID = EVENT.E_ID
AND EVENT_STAFF.S_S_ID = STAFF.S_ID
AND STAFF.ST_ST_ID = STAFFTYPE.ST_ID;

在此处输入图片说明

在此处输入图片说明

在此处输入图片说明

在此处输入图片说明

勃鲁姆

如果重组查询以使用ANSI兼容的联接语法而不是WHERE子句中的=,则可能会更容易。

SELECT C_FNAME, C_LNAME, C_ORG, C_ADR, C_CNUM, E_ID, E_NAME, E_FTIME, E_STIME, ET_DESC, V_NAME, V_ADDRESS, V_CNUM, D_DESC, D_AMT, ST_DESC, S_FNAME, S_LNAME, EQ_TYPE, EQ_DESC, EQ_AMT, SU_NAME
FROM customer
INNER JOIN event ON CUSTOMER.C_ID = EVENT.C_C_ID
INNER JOIN eventtype ON EVENT.ET_ET_ID = EVENTTYPE.ET_ID
INNER JOIN venue ON EVENT.V_V_ID = VENUE.V_ID
INNER JOIN EVENT_DISHES ON EVENT.E_ID = EVENT_DISHES.E_E_ID
INNER JOIN DISHES ON DISHES.D_ID = EVENT_DISHES.D_D_ID
INNER JOIN EVENT_EQUIPMENT ON EVENT.E_ID = EVENT_EQUIPMENT.E_E_ID
INNER JOIN EQUIPMENT ON EVENT_EQUIPMENT.EQ_EQ_ID = EQUIPMENT.EQ_ID
INNER JOIN SUPPLIER ON SUPPLIER.SU_ID = EQUIPMENT.SU_SU_ID
INNER JOIN EVENT_STAFF ON EVENT.E_ID = EVENT_STAFF.E_E_ID
INNER JOIN STAFF ON STAFF.S_ID = EVENT_STAFF.S_S_ID
INNER JOIN STAFFTYPE ON STAFFTYPE.ST_ID = STAFF.ST_ST_ID
WHERE E_ID ='E000001';

我正在调查您的数据现在不正确的原因,但这是一个起点。

我认为在event_equipment和Suppliers表的联接中存在问题。该表中的数据是否唯一?

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

TOP 榜单

  1. 1

    来自Microsoft Office加载项taskpane.js的MySQL驱动程序模块的空引用

  2. 2

    使用AWS Cognito和React的仅限Facebook / Google的登录名(无用户名/密码)

  3. 3

    创建Windows Phone 8应用并将其连接到数据库的最佳方法(最好是SQL Server)

  4. 4

    为什么Java中的System.out.println()打印到控制台?

  5. 5

    卷曲函数无法解析来自bash中变量的代理

  6. 6

    是什么在Android的consumer-rules.pro和proguard-rules.pro之间的区别?

  7. 7

    设置与Apache POI Excel表散点图标记图标的颜色

  8. 8

    将Qt Pyside2与asyncio await语法一起使用?

  9. 9

    崇高的文字+蟒蛇的蟒蛇

  10. 10

    任务':app:minifyReleaseWithR8'.java.lang.NullPointerException的执行失败(无错误消息)

  11. 11

    OpenJDK的和AdoptOpenJDK的区别

  12. 12

    大型数据集缓存到Spark内存中时,“超出了GC开销限制”(通过sparklyr和RStudio)

  13. 13

    “执行测试CMAKE_HAVE_LIBC_PTHREAD”失败实际上是什么意思?

  14. 14

    使用Core 2.2中的Identity,如何在关闭浏览器15分钟后保持会话活动?

  15. 15

    React中的ForwardRefExoticComponent和ForwardRefRenderFunction有什么区别?

  16. 16

    猫鼬查找结果,然后将字段替换为findOne

  17. 17

    如何降级Google Colab的Torch版本

  18. 18

    Keras提前停止回调错误,val_loss指标不可用

  19. 19

    如何避免VSCode中的“导入路径不能以.ts扩展名结尾”错误?

  20. 20

    Nuxt.JS:如何在页面中获取路由URL参数

  21. 21

    是否有为什么会AccessibilityManager.sInstance导致内存泄漏的一个原因?

热门标签

归档