SELECT DISTINCT  c.gnmkbh AS gnmkbh, c.cdxsmc AS cdxsmc, c.dywj AS dywj, c.cdzbh AS cdzbh,d.* FROM 
(SELECT * FROM (SELECT qxlb FROM admin_QX_ZW WHERE ','||'1'||',' LIKE '%,'||to_char(zwbh)||',%') a,(SELECT gnmkbh, cdxsmc, dywj, cdzbh FROM admin_QX_KTGNMKLB where qxbz != 'X') b where ','||to_char(a.qxlb)||',' LIKE '%,' ||b.GNMKBH||',%') c ,(SELECT name, nnumber, sybz FROM admin_QX_MENUMASTER WHERE sybz != 'X') d where c.cdzbh = d.nnumber(+) order by c.cdzbh

解决方案 »

  1.   

    oracle连接字符串是用||符号,
      

  2.   

    SELECT DISTINCT  c.gnmkbh AS gnmkbh, c.cdxsmc AS cdxsmc, c.dywj AS dywj, c.cdzbh AS cdzbh,d.* FROM 
    (SELECT * FROM 
    (SELECT qxlb FROM admin_QX_ZW WHERE ','||'1'||',' LIKE '%,' ||to_char(zwbh) || ',%') a,
    (SELECT gnmkbh, cdxsmc, dywj, cdzbh FROM admin_QX_KTGNMKLB where qxbz<>'X') b where ','||to_char(a.qxlb)||',' LIKE '%,' ||b.GNMKBH ||',%') c , 
    (SELECT name, nnumber, sybz FROM admin_QX_MENUMASTER WHERE sybz <>'X') d 
    where c.cdzbh = d.nnumber 
    order by c.cdzbh
      

  3.   

    简写:
    SELECT  DISTINCT  a.qxlb,b.gnmkbh, b.cdxsmc, b.dywj, b.cdzbh,c.name,c.nnumber,c.sybz 
    FROM admin_QX_ZW a,admin_QX_KTGNMKLB b,admin_QX_MENUMASTER c where to_char(a.zwbh) LIKE '%1%' and b.qxbz<>'X' and instr(a.qxlb,b.GNMKBH)>0 and c.sybz <>'X' and c.nnumber=b.cdzbh