1

チェックポイント行を見つけるのに役立つ変数を作成し、そのチェックポイントの後の行をクエリしようとしています。

最初はROWIDを使おうと思っていたのですが、ROWIDの形が非整数なので。少し不適切なようです。

それにもかかわらず、必要なプロセスの 1 つは、Oracle では便利にサポートされていない行オフセットを作成することです。

私は得続けます

ORA-00904: "ITEM"."ID": 識別子が無効です

その変数は、テーブル ITEM の ID 列である Item_ID です。

select ITEM.ID,ITEM.CREATEDDATE,ITEM.TYPEID,
        CAT_DIC_AUTHOR.DISPLAYENTRY,
        CAT_DIC_PUBLISHER.DISPLAYENTRY,
        CAT_DIC_KEYWORD.ACCESSENTRY,CAT_DIC_KEYWORD.DISPLAYENTRY,
        CAT_DIC_LANGUAGE.DISPLAYENTRY,CAT_DIC_LANGUAGE.NAMEVIET,
        CAT_DIC_SH.DISPLAYENTRY,
        CAT_DIC_ITEM_TYPE.ACCESSENTRY,CAT_DIC_ITEM_TYPE.TYPENAME 
from ( select rownum r,ITEM.ID from ITEM) 

LEFT JOIN ITEM_AUTHOR 
    ON ITEM.ID=ITEM_AUTHOR.ITEMID 
LEFT JOIN CAT_DIC_AUTHOR 
    ON ITEM_AUTHOR.AUTHORID=CAT_DIC_AUTHOR.ID 
LEFT JOIN ITEM_PUBLISHER 
    ON ITEM.ID=ITEM_PUBLISHER.ITEMID 
LEFT JOIN CAT_DIC_PUBLISHER 
    ON ITEM_PUBLISHER.PUBLISHERID=CAT_DIC_PUBLISHER.ID 
LEFT JOIN ITEM_KEYWORD 
    ON ITEM.ID=ITEM_KEYWORD.ITEMID 
LEFT JOIN CAT_DIC_KEYWORD 
    ON ITEM_KEYWORD.KEYWORDID=CAT_DIC_KEYWORD.ID 
LEFT JOIN ITEM_LANGUAGE 
    ON ITEM.ID=ITEM_LANGUAGE.ITEMID 
LEFT JOIN CAT_DIC_LANGUAGE 
    ON ITEM_LANGUAGE.LANGUAGEID=CAT_DIC_LANGUAGE.ID 
LEFT JOIN ITEM_SH 
    ON ITEM.ID=ITEM_SH.ITEMID 
LEFT JOIN CAT_DIC_SH 
    ON ITEM_SH.SHID=CAT_DIC_SH.ID 
LEFT JOIN CAT_DIC_ITEM_TYPE 
    ON ITEM.TYPEID=CAT_DIC_ITEM_TYPE.ID 

where r>100 and r<=200
4

1 に答える 1

2

ITEM以下のように、サブクエリの後に単語を追加してみてください。

select ITEM.ID,ITEM.CREATEDDATE,ITEM.TYPEID,
        CAT_DIC_AUTHOR.DISPLAYENTRY,
        CAT_DIC_PUBLISHER.DISPLAYENTRY,
        CAT_DIC_KEYWORD.ACCESSENTRY,CAT_DIC_KEYWORD.DISPLAYENTRY,
        CAT_DIC_LANGUAGE.DISPLAYENTRY,CAT_DIC_LANGUAGE.NAMEVIET,
        CAT_DIC_SH.DISPLAYENTRY,
        CAT_DIC_ITEM_TYPE.ACCESSENTRY,CAT_DIC_ITEM_TYPE.TYPENAME 
from ( select rownum r,ITEM.ID,ITEM.TYPEID, ITEM.CREATEDDATE from ITEM)  ITEM

LEFT JOIN ITEM_AUTHOR 
    ON ITEM.ID=ITEM_AUTHOR.ITEMID 
LEFT JOIN CAT_DIC_AUTHOR 
    ON ITEM_AUTHOR.AUTHORID=CAT_DIC_AUTHOR.ID 
LEFT JOIN ITEM_PUBLISHER 
    ON ITEM.ID=ITEM_PUBLISHER.ITEMID 
LEFT JOIN CAT_DIC_PUBLISHER 
    ON ITEM_PUBLISHER.PUBLISHERID=CAT_DIC_PUBLISHER.ID 
LEFT JOIN ITEM_KEYWORD 
    ON ITEM.ID=ITEM_KEYWORD.ITEMID 
LEFT JOIN CAT_DIC_KEYWORD 
    ON ITEM_KEYWORD.KEYWORDID=CAT_DIC_KEYWORD.ID 
LEFT JOIN ITEM_LANGUAGE 
    ON ITEM.ID=ITEM_LANGUAGE.ITEMID 
LEFT JOIN CAT_DIC_LANGUAGE 
    ON ITEM_LANGUAGE.LANGUAGEID=CAT_DIC_LANGUAGE.ID 
LEFT JOIN ITEM_SH 
    ON ITEM.ID=ITEM_SH.ITEMID 
LEFT JOIN CAT_DIC_SH 
    ON ITEM_SH.SHID=CAT_DIC_SH.ID 
LEFT JOIN CAT_DIC_ITEM_TYPE 
    ON ITEM.TYPEID=CAT_DIC_ITEM_TYPE.ID 
where r>100 and r<=200
于 2012-12-14T08:28:21.637 に答える