单独更新列值以逗号和Retieving

时间:2015-05-05 08:22:30

标签: asp.net sql-server-2008

我有一个名为User_TB的表,它包含名为Previous_Id的列,Previous_Id将保留他为Locations工作的用户的所有先前ID。是否可以以这种方式存储值,如果是,那么请帮我解决问题..

由于

表定义

CREATE TABLE [dbo].[User_TB](
[User_Id] [varchar](15) NOT NULL,
[User_FullName] [varchar](50) NULL,
[User_Address] [varchar](150) NULL,
[User_Gender] [varchar](10) NULL,
[User_Email] [varchar](50) NULL,
[User_Password] [varchar](50) NULL,
[User_AccStatus] [int] NULL,
[User_Branch] [varchar](50) NULL,
[User_TeamLeader] [varchar](50) NULL,
[User_Department] [varchar](50) NULL,
[User_Position] [varchar](50) NULL,
[Previous_Id] [varchar](MAX) NULL

和Previous_Id列可以包含如下值:[LH-10,SQ-12]

以及如何使用任何字符串变量在asp.net中检索它们。

现在我的查询是: 考虑该列中存在一个值

Declare 
@User_Id varchar(20);
Update User_TB set User_Id=@User_Id where User_Id = @old_User_Id;

1 个答案:

答案 0 :(得分:0)

如果您还不知道以前的ID数,则需要创建一个新表。例如,您可以将其称为Previous_IDs。它将有2列,一列是User_Id,另一列是Previous_Id。对于用户的每个新“Previous_Id”,您可以在表中添加一行。然后,您可以使用

之类的查询检索所有这些ID
SELECT * from [dbo].[User_TB]
INNER JOIN Previous_Id
ON [dbo].[User_TB].User_Id = Previous_Id.user_id
WHERE User_Id = [ID of the user you want]

对于一件小事来说,这看起来似乎很多,但这是我被教导的正确方法。