将数据从同一个表的另外两列插入一列

时间:2009-09-24 23:27:22

标签: sql sql-server tsql

我有下表:

Table A
FNAME | LNAME
james | Bond
John  | Brit
raje  | van

我想插入第一列的第一个字母,并使用完整的姓氏为该表创建一个新的用户名列:

Table A
USERNAME
jbond
jbrit
rvan

如果无法做到这一点,我至少需要将姓氏从lname更新为新创建的用户名列,并为所有行设置默认密码

3 个答案:

答案 0 :(得分:7)

添加新列用户名:

ALTER TABLE tableA ADD username varchar(50) 
-- 50 is an example, it should be choosed depending on data

然后执行此查询:

UPDATE tableA
SET username = LEFT(fname, 1) + lname

答案 1 :(得分:1)

UPDATE TableA SET username = SUBSTRING(fname,1,1) + lname

答案 2 :(得分:1)

考虑使用计算列(或持久计算列或甚至索引的持久计算列)。

参考文献: