lect /*+ INDEX(VENUES VENUES_CITY) */ District,Address1,Name,Phone,VenueID from Venues where ( Venues.City = '上海'  and District = '浦东' and UPPER(Name) like '%唐宫海鲜舫' )
UNION
select /*+ INDEX(VENUES VENUES_CITY) */ District,Address1,Name,Phone,VenueID from Venues where ( Venues.City = '上海'  and District = '浦东'  and branchvenue=0 and status=3 and ((sysdate-end_date)<180)) and Name<>'唐宫海鲜舫'  order by VenueID desc
问题:1》用第一个SELECT可以查出所需的记录
下面的SELECT也可以查处所有记录
可是我把这个SQL打到一个文本文件里面没有看到第一条记录室我要的”唐宫海鲜舫“为什么呢

解决方案 »

  1.   

    CREATE OR REPLACE FORCE VIEW LANGFANG.KC_V_PRJDOCMANAGE
    (NO, HS_NAME, DRAWINGNAME, TYPE, GRAPHIC)
    AS 
    SELECT PROJECTNO as no, NO as hs_name, DRAWINGNAME,
       TYPE, GRAPHIC FROM KC_PROJECTDRAWMANAGE;
    UNION
    SELECT EQUIPMENTNO as no, NO as hs_name, DRAWINGNAME, 
       TYPE, GRAPHIC FROM LANGFANG.KC_EQUIPMENTFILEMANAGE;
    UNION
    SELECT DOCUMENTNO as no, NO as hs_name, DRAWINGNAME, 
       TYPE, GRAPHIC FROM LANGFANG.KC_RUNRECORDMANAGE;
    我这段sql在oracle里,只能得到表一的是数据是为什么呀?
    得不到后面两个表的数据,
      

  2.   

    如果记录重复,还想保留重复记录的话用 union all
      

  3.   

    union把重复的记录去掉了.如果查询所有的记录.改union为union all
      

  4.   

    CREATE OR REPLACE FORCE VIEW LANGFANG.KC_V_PRJDOCMANAGE
    (NO, HS_NAME, DRAWINGNAME, TYPE, GRAPHIC)
    AS 
    SELECT PROJECTNO as no, NO as hs_name, DRAWINGNAME,
       TYPE, GRAPHIC FROM KC_PROJECTDRAWMANAGE
    UNION
    SELECT EQUIPMENTNO as no, NO as hs_name, DRAWINGNAME, 
       TYPE, GRAPHIC FROM LANGFANG.KC_EQUIPMENTFILEMANAGE
    UNION
    SELECT DOCUMENTNO as no, NO as hs_name, DRAWINGNAME, 
       TYPE, GRAPHIC FROM LANGFANG.KC_RUNRECORDMANAGE;
    我这段sql在oracle里,不能实现是因为GRAPHIC是long raw类型,
    不知道为什么这个类型在这里不可以用来创建视图,哪位大哥能给点意见
      

  5.   

    最好改成blob,long raw只能单独提取
      

  6.   

    没有研究过blob,最好请个高人解答一下,帮你up
      

  7.   

    CREATE OR REPLACE FORCE VIEW LANGFANG.KC_V_PRJDOCMANAGE
    (NO, HS_NAME, DRAWINGNAME, TYPE, GRAPHIC)
    AS 
    SELECT PROJECTNO as no, NO as hs_name, DRAWINGNAME,
       TYPE, GRAPHIC FROM KC_PROJECTDRAWMANAGE
    UNION ALL
    SELECT EQUIPMENTNO as no, NO as hs_name, DRAWINGNAME, 
       TYPE, GRAPHIC FROM LANGFANG.KC_EQUIPMENTFILEMANAGE
    UNION ALL
    SELECT DOCUMENTNO as no, NO as hs_name, DRAWINGNAME, 
       TYPE, GRAPHIC FROM LANGFANG.KC_RUNRECORDMANAGE;
    这样些就可以了,谢谢回答的同志,这个也是别人告诉我的,我试出来的,