是否可以在同一个单元格中插入多个名称?

时间:2013-07-11 18:11:36

标签: sql sql-server-2008 database-design

我有一个存储过程可以获取一个人的姓氏,并在她在表单上更新姓氏后将其插入 Alias 。但是每当一个人每次更改名字时,我的老板都希望保留所有以前的姓氏。我在SQL表中有以下数据。

+----------------+---------------+----------------+------------------+
     PeopleID         FirstName       LastName            Alias
+-----------------+--------------+----------------+------------------+
     002112             Judy            Smith              Hall

让我们说,朱迪再次改名为金斯利。是否有可能抓住她以前的姓氏史密斯并将其插入霍尔的 Alias 下?我想也许它看起来像这张桌子,但不知道怎么做。

+----------------+---------------+----------------+------------------+
     PeopleID         FirstName       LastName            Alias
+-----------------+--------------+----------------+------------------+
     002112             Judy          Kingsley         Hall, Smith

2 个答案:

答案 0 :(得分:2)

我建议您保存表中的当前值,并创建一个历史表来保存以前的姓氏。像这样:

CREATE TABLE last_name_history
(
   PeopleID char(6),
   from_date datetime,
   to_date datetime,
   alias char(25)
) 

答案 1 :(得分:-1)

检索String数组中的所有值。然后将所有别名保存在一个用逗号分隔的字符串中。让我们说“别名”是一个String数组,其中存储了不同的别名。现在,做这样的事情将它存储在一个字符串中 -

for(int i=0;i<alias.length;i++)
    {
                String str="";
        if(i==0)
    str+=alias[i];
        else
            str+=","+alias[i];
    }

然后将字符串“str”存储在“Alias”列中。