新手,向大牛们请教如下问题,希望得到指点,至少是学习方向的指点:1. 在一个以tab分割的包中,有c,f两列要查找与另一个表中的某一列中出现的数据,并放到一个表中,
  例如:
  Table A:
  C column F column
  ab       cd
  ef       gh
  kq       mn
  gh       lm
  Table B:
  A column
  wrw
  ef
  mn
  cde
  ere
 把结果放到:
 Table C:
 A column Bcolumn
 ef       gh
 kq       mn然后将table c中新出现的(去冗余):gh, kq再进行一次查找:得到:
gh lm并将其如上所述保存下来;2. 如果在table A中出现了B的数据的的数据格式是:ef;aa;ccc;eefef; gh 和 kq;wrfwr;fwef; mn;erfwrfewsd;fwerwl;这个查找又应该如何实现?3. 如果A的功能便成找到相应的列后,并把Table A的colummn A的数据并将其放在文件table C中;4. 如果在B中的数据格式是:
  pswd:wrw|cd:xs
  pswd:ef|cd:xt
  pswd:mn|cd:xm
  pswd:cde|cd:xe
  pswd:ere|cd:xr5. 如果table b的数据还需要先转换到能被tableA识别的ID是,比如:
table b为:
kf100001
kf100005
kf100009
kf100010
kf1000019
由table D转换表
  wrw    kf100001;kf100002
  ef     kf100005;kf100003
  mn     kf100007;kf100009
  cde    kf100013;kf100010
  ere    kf1000019;kf10032
才能得到:
  wrw
  ef
  mn
  cde
  ere6.如果这些查找要求一次完成,如何操作?
 A. 检查table b是否为 wrw, ef, mn, cde, ere格式,不是就用table D转换,
 B. 如果table b 为  pswd:wrw|cd:xs 格式, 提取 xs ;
 C. 查找table a得到 第一层结果 并保存
 D. 去冗余参照地二层结果 并保存

解决方案 »

  1.   

    没看懂,建议你一个问题一个问题来问,简单说明一下
     A column Bcolumn
     ef       gh
     kq       mnj是根据什么来的?
      

  2.   

    1. 在一个以tab分割的包中,有c,f两列要查找与另一个表中的某一列中出现的数据,并放到一个表中,insert into c
    select *
    from a
    where c in (select a from b)
    or f in (select a from b)