有一张姓名表a:
id  用户名  姓名
1   zhangsan 张三
2   lishi    李四
3   mazi     麻子
有一张考勤表b:
id  姓名 
1   张三
2   张三
3   李四
4   麻子
5   麻子
6   张三有一组数据想插入考勤表,我想实现插入考勤表的姓名字段不是中文姓名,而是姓名表的用户名即:
id  姓名 
1   zhangsan
2   zhangsan
3   lishi
4   mazi
5   mazi
6   zhangsan

解决方案 »

  1.   

    update b left join a on b.姓名=a.姓名 set b.姓名=a.用户名
      

  2.   


    insert into b values(id,select top 1 用户名 from a where 姓名='张三')
      

  3.   

    这个意思?
    insert into b (姓名) select 用户名 from a where 姓名='张三' 
      

  4.   

    不是只替换一个,是插入时候遇到张三就替换成zhangsan,遇到李四时就插入lishi,插入麻子时就插入mazi循环插入自动判断
      

  5.   

    谢谢你,不过你这种写法只能用在存储过程中,我的想法是能在数据库中设置一插入名字就用用户名代替,或者在PHP程序中先循环处理了再插入数据库
      

  6.   

    如果两个表没有联系的话不好插入
    不过你可以这样 直接把中文转换成拼音再插入
    百度PHP中文转换拼音 有很多写好的等着你