是这样的,比如我们原来有一个表 cars,里面有三个字段ID,name,cateName。现在想把它拆成两个表,分为一个cars表,里面字段为ID,name,cateId。  还有个cates表,字段为 id,name
如果这样的话,怎么写sql语句可以把cars表中数据导入cars和cates表中?(用纯sql语句,不写其他程序)谢谢,请大家帮忙

解决方案 »

  1.   

    什么数据库啊?cateID哪里来的
      

  2.   

    cars表中数据导入cars和cates表中同一个表,你打算怎么做?提问之前建议仔细看一下自己的问题,
    问题说明越详细,回答也会越准确!参见如何提问。(提问的智慧
        
      

  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.建立cates表
    create table cates(id int auto_increment,name varchar(100));2.将catename插入cates表
    insert into cates
    select cateName  from cars3.建立cars_tmp 表
    create table cars_tmp(ID int,name varchar(100),cateId int) 4.将数据插入cars_tmp
    insert into cars_tmp 
    select c.id,c.name,cs.id
    from cars c join cates cs on c.catename=cs.name5.删除原表 cars 
    drop table cars5.重命名cars_tmp 为cars
    alter table cars_tmp rename to cars