在同一个数据库中有两个表  表1 
  address                     name         parent_classes   classes                parent
  news.qq.com            腾讯新闻首页                                    腾讯
   v.qq.com              视频新闻         新闻                                     腾讯
stock.cn.yahoo.com/        股票                                           财经                    雅虎
trip.cn.yahoo.com/        旅行                                            旅游首页                 雅虎
www.eastmoney.com/      东方财富网首页                                                         东方财富网
culture.ifeng.com/          文化                                         资讯                  凤凰网
表2中 
uri                                         host               domain
http://zh.3g.qq.com/index.jsp          zh.3g.qq.com        qq.com
http://w19.mail.qq.com/cgi-bin/bottle_read w19.mail.qq.com        qq.com
/forward.jsp                            fwd.3g.qq.com:8080      qq.com:8080
/forward.jsp                            fwd.3g.qq.com:8080     qq.com:8080
http://s.image.wap.soso.com/img/         s.image.wap.soso.com     soso.com
http://fxwr.j.3g.qq.com/p                     fxwr.j.3g.qq.com        qq.com
随便列的一些数据 实际数据还有很多很多 
老大要我 用表1  中 address 字段 去匹配表二的三个字段 
如果
address = uri 还回 ur, parent_classes,name,parent字段 
如果
address=host  还回host,name,parent_classes,parent字段
如果
address=domain 还回domain,name, parent
  自己用的是win7的系统 数据库是用的MYSQL,跪求解答!

解决方案 »

  1.   

    在SP中判断address的值,动态生成SQL语句,再执行
      

  2.   

    1、看看MYSQL的,弄清楚怎样建立 SP及相关语句、函数;
    2、动手做一下吧,有问题在问。
      

  3.   

     (不要高估你的汉语表达能力或者我的汉语理解能力)
       建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
       参考一下这个贴子的提问方式http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html
       
       1. 你的 create table xxx .. 语句
       2. 你的 insert into xxx ... 语句
       3. 结果是什么样,(并给以简单的算法描述)
       4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
       
       这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。   
      

  4.   

     
      两个已存在的表中 查询
    用表1 中 address 字段 去匹配表二的三个字段  
    如果
    address = uri 还回 ur, parent_classes,name,parent字段  
    如果
    address=host 还回host,name,parent_classes,parent字段
    如果
    address=domain 还回domain,name, parent
    uri  host domain 是表1 字段 
    parent_classes,name,parent ,classes,  是表2字段  返回address(匹配集) parent_classes, name, parent classes
       这样应该可以看懂吧  还看不懂我就要挂了 救急啊
      

  5.   

    在SP中判断address的值,动态生成SQL语句,再执行
      

  6.   

    因为你要返回的字段不同 ,必须用存储过程判断address的值,执行不同的SQL语句
      

  7.   

    可以考虑借助IF函数的方式解决:SELECT CONCAT('SELECT 'IF(address,'uri','ur, parent_classes,name,parent')...) ....推荐:
    淘宝和阿里巴巴去Oracle化事件 引发数据库技术人员大讨论WebGame行业案例:in子查询group by引发的“血案”
      

  8.   

    select ur, parent_classes,name,parent from b1 inner join b2 on address = uri 
    select host,name,parent_classes,parent from b1 inner join b2 on address=hostselect domain,name, parent from b1 inner join b2 on address=domain