【发布时间】:2020-02-28 19:19:52
【问题描述】:
我需要你的帮助。
我的数据库将被配置为表明我们的一些员工共享同一个办公室。
但是会发生什么,例如,当我从该办公空间中移除员工时,我只是将 LastName 和 FirstName 列的值设置为“null”。这里的问题是我只想保留相同数据的一行值,而不是基本上包含相同数据的两行。
也许有更好的方法来解决这个问题,因为我对此比较陌生,所以我愿意听取本网站专家的建议。
提前致谢,
这里是有问题的 SQLFiddle:http://sqlfiddle.com/#!18/c31e3/1
CREATE TABLE tbl_accdb (
Floor varchar(255),
Office varchar(255),
LastName varchar(255),
FirstName varchar(255)
);
INSERT INTO tbl_accdb (Floor, Office, LastName, FirstName)
VALUES ('2', 'B-47', 'Smith', 'John');
INSERT INTO tbl_accdb (Floor, Office, LastName, FirstName)
VALUES ('2', 'B-47', 'Doe', 'Jane');
UPDATE tbl_accdb
SET
LastName = null,
FirstName = null
WHERE Floor = 2 AND Office = 'B-47';
【问题讨论】:
-
这里的确切逻辑流程是什么?假设 2 楼办公室 B-47 已经在您的表中有一条记录,当有人试图插入重复时会发生什么?
-
sqlservertutorial.net/sql-server-basics/…。还有许多其他网站展示了如何删除重复行。
标签: sql database sql-server-2008 database-design