sql - oracle 查询返回每行 4 个重复项

标签 sql oracle

我正在运行 Oracle 查询。它似乎有效,只是它返回每个结果的 4 个副本。这是查询:

Select * from (
    Select a.*, rownum rnum From (
        SELECT NEW_USER.*, NEW_EHS_QUIZ_COMPLETE.datetime
        FROM NEW_USER, NEW_EHS_QUIZ_COMPLETE
        WHERE EXISTS (
            select *
            from NEW_EHS_QUIZ_COMPLETE
            where NEW_USER.id=NEW_EHS_QUIZ_COMPLETE.USER_ID
        )
        ORDER by last_name ASC
    ) a
    where rownum <= #pgtop#
)
where rnum >= #pgbot#

有谁知道为什么这不能正常工作?

最佳答案

这里有一个交叉连接:

SELECT
    NEW_USER.*,
    NEW_EHS_QUIZ_COMPLETE.datetime
FROM NEW_USER, NEW_EHS_QUIZ_COMPLETE
WHERE EXISTS(
    select * from NEW_EHS_QUIZ_COMPLETE
    where NEW_USER.id=NEW_EHS_QUIZ_COMPLETE.USER_ID
) 

你可能是这个意思:

SELECT
    NEW_USER.*,
    NEW_EHS_QUIZ_COMPLETE.datetime
FROM NEW_USER
INNER JOIN NEW_EHS_QUIZ_COMPLETE
ON NEW_USER.id = NEW_EHS_QUIZ_COMPLETE.USER_ID

关于sql - oracle 查询返回每行 4 个重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3039882/

相关文章:

c# - 将数据集中的值绑定(bind)到下拉列表

sql - T SQL 条件字符串连接

带计数的 SQL Server 数据透视子句

sql - 如何插入带条件的 SQL 语句

java - Oracle ADF : Lifecycle method calls taking long time when ViewCriteria execute "in memory" mode

mysql - 堆 vs 聚集索引全表扫描

sql - 如果 Emacs 已经存在,你能在 Emacs 中创建一个新的 SQL 缓冲区吗?

php - mysql从mysql数据库获取数据时出现错误

sql - 将序列重置为特定值

regex - 如何支持 Oracle 的 DBMS_UTILITY.COMMA_TO_TABLE + REGEXP_REPLACE 的多个分割字符,例如 ',' 、 ';' 或 '|'