首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • sql语句插入一列的问题 [已结帖,结帖人:yanhong430]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • yanhong430
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 结帖率:
    发表于:2008-08-08 08:11:26 楼主
    有表:
        name      fenshu       
        张三          89
        李四          92
        王五          79
    现想插入一列,变为:
        name      fenshu    age
        张三          89      18
        李四          92      17
        王五          79      17
    插入的这一列可以通过select语句从另外的表中得到,
    本人刚学sql语句,只知道insert是插入行,不知道怎样插入列,
    请各位不吝赐教!
       
    50  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • chensi05
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-08 08:35:341楼 得分:2
    列只能更新update
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • cosio
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-08 08:38:072楼 得分:20
    SQL code
    update 表1 set age=(select age from 表2 where 表1.字段1=表2.字段1) where exists(select 1 from 表2 where 表1.字段1=表2.字段1)
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • todayg
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-08 09:10:283楼 得分:1
    插入一列:ALTER table_name ADD(age number(5));
    然后再插入数据:update table_name set age=18 where name='张三';
                  update table_name set age=17 where name='李四';
                  update table_name set age=17 where name='王五';
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • doer_ljy
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-08 09:52:404楼 得分:1
    或者删了从来
    drop table 表1
    create table 表1 as select col1,col2,col3 from 表2 where ...
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • yanhong430
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-08 10:02:565楼 得分:0
    引用 4 楼 doer_ljy 的回复:
    或者删了从来
    drop table 表1
    create table 表1 as select col1,col2,col3 from 表2 where ...


    表2里只有age这个字段,没有前两列,所以上面的好像不行
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ybkenan
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-08 10:06:406楼 得分:1
    先修改表1,新增列age,然後再從別的表更新表1. 列是沒辦法新增的。

    update 表1 set age=(select age from 表2 where 表1.字段1=表2.字段1)
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • todayg
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-08 10:24:467楼 得分:1
    插入一列:ALTER table_name ADD(age number(5));

    update 表1 set age=(select age from 表2 where 表1.字段1=表2.字段1)

    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • sxc_kel
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-08 10:30:348楼 得分:1
    其实没必要那么复杂,方法很多,比如:
    create view v_name as select a.name,a.fenshu,b.age from table_1 a,table_b where 。。。
    或者把view改成table,然后把原来的table删掉,把现在的v_name 改名成原来的table就可以了
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • oracledbalgtu
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 2

    发表于:2008-08-08 10:36:429楼 得分:1
    SQL code
    alter talbe tableName add age number(3);

    引用楼主 yanhong430 的帖子:
    有表:
        name      fenshu       
        张三          89
        李四          92
        王五          79
    现想插入一列,变为:
        name      fenshu    age
        张三          89      18
        李四          92      17
        王五          79      17
    插入的这一列可以通过select语句从另外的表中得到,
    本人刚学sql语句,只知道insert是插入行,不知道怎样插入列,
    请各位不吝赐教!
       
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zhcy816
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-08 11:19:4710楼 得分:1
    估计还是得分修改表结构和修改表数据两步走,没有类似insert插入行这样的插入列的语句吧。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zhcy816
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-08 11:20:5411楼 得分:0
    共同探讨,相互学习,一起进步。嘿嘿!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • dbcxbj
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-08 11:44:2012楼 得分:1
    1.新增加一列age
    2.update table1 set age=(select ......)
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • sulins
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-08 13:28:3513楼 得分:10
    SQL code
    update 目标表 a set age = (select age from 源表 b where a.字段=b.字段) where exists (select 1 from 源表 b where a.字段=b.字段)



    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lenglengdeyu
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-08 13:37:1814楼 得分:10
    SQL code
    update table a set age=(select age from table b where a.字段=b.字段) where exists (select 1 from table b where a.字段=b.字段)
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • yanhong430
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-08 13:37:5615楼 得分:0
    谢谢各位了,问题解决了,结贴给分。
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved