表A:
id     dm
01     1101
02     2101表B:
dm     
1101,1104,2103............
...........
...........问:表A的第一行怎么和表B的第一行连接?

解决方案 »

  1.   

    什么意思?关联?a.dm=b.dm?首先要拆b表dm,然后去做
      

  2.   

    用dm like dm ,效率不行
      

  3.   


    select * from ta a,tb b
    where instr(','||b.dm||',',','||a.dm||',')>0
      

  4.   

    如果只是tb的第一个字符与ta相连,就是下面sql 
    select * from ta a,tb b
    where a.dm=substr(b.dm,1,instr(b.dm,',')-length(','))
      

  5.   

    where instr(b.dm,a.dm)>0效率很低啊,我想先把B表拆分后应该效率会提高,但不知道怎么下手
      

  6.   

    拆表的效率本身就低,不可能比
    select * from ta a,tb b 
    where instr(','||b.dm||',',','||a.dm||',')>0
    效率更高的
      

  7.   

    楼主先想想为什么=比like、instr等效率高,
    然后在判断拆分一个项目的效率和like、instr哪个高。
    拆分一个项目难道不需要时间?根据什么认为拆分一个项目比like、instr效率高呢?
      

  8.   

    因为我的表B只有20行,但我没权限修改表结构,苦恼就在这里。而表B的数据却不固定的,我没法把数据直接写在SQL语句里。