仅从表中查找和更新重复记录的最佳方法是什么.例如,下面的记录被认为是重复记录,只有ID使它们成为唯一的.我需要将记录2和3活动字段更新为0而不是1,并将日期设置为getdate().我需要这些副本的第一个实例(ID 1)不更新.我有一个表有数千个这种情况,需要停用重复记录.
有任何想法吗?
acct_plan表:
ID act plan active date
1 123 blue 1 NULL
2 123 blue 1 NULL
3 123 blue 1 NULL
Run Code Online (Sandbox Code Playgroud)
在此先感谢您的帮助!:)
我正在使用Sql Server 2005.
我想通过简单的sql命令备份我的数据库.
为此,我称此文件.
制作如下命令:
backup database webbasednewsoft to disk 'e:\wb.bak'
Run Code Online (Sandbox Code Playgroud)
但它给我的错误是:
Msg 102, Level 15, State 1, Line 1
Incorrect syntax near 'e:\wb.bak'.
Run Code Online (Sandbox Code Playgroud)
我不明白这是什么语法错误?
我根据文件做了一切.
我认为这个问题是关于转义序列,所以我也尝试过,
backup database webbasednewsoft to disk 'e:\\wb.bak'
Run Code Online (Sandbox Code Playgroud)
但错误是一样的.
请指教我.
我正在尝试将所有数据从一个表复制到另一个表,因为第二个表的排序有点不同我正在使用以下SQL脚本来执行此操作:
USE LoanersTest
DROP TABLE LoanerItems1
CREATE TABLE LoanerItems1
(
LoanerKey INT NOT NULL UNIQUE
,BCPartNumber VARCHAR(255) NULL
,Manufacturer VARCHAR(255) NULL
,Model VARCHAR(255) NULL
,Modality INT NOT NULL UNIQUE
,Status INT NOT NULL UNIQUE
,Location INT NOT NULL UNIQUE
,ShelvingKey INT NOT NULL UNIQUE
,CalDate VARCHAR(255) NULL
,CalDue VARCHAR(255) NULL
,BCID VARCHAR(255) NULL
,SerialNumber VARCHAR(255) NULL
,AssetTag VARCHAR(255) NULL
,LoanTerm VARCHAR(255) NULL
,PartNumber VARCHAR(255) NULL
,Notes VARCHAR(255) NULL
,CriticalNotes VARCHAR(255) NULL
,ShippingNotes VARCHAR(255) NULL
,ReceivingNotes VARCHAR(255) NULL
,Description VARCHAR(255) NULL …Run Code Online (Sandbox Code Playgroud) 我有桌子:
Bonus Value
500 1400
1500 177
1800 453
1200 100
800 2500
200 50
780 740
Run Code Online (Sandbox Code Playgroud)
我想打印列的总和,以最大值为准.
我试过以下:
select
case when sum(bonus)>sum(Value) then sum(bonus) end
case when sum(Value)>sum(bonus) then sum(Value) end
from emp
Run Code Online (Sandbox Code Playgroud)
但我没有得到结果.
错误:
Msg 156, Level 15, State 1, Line 3
Incorrect syntax near the keyword 'case'.
Run Code Online (Sandbox Code Playgroud) 我使用的是sql server 2008,我有以下数据
sNames sDate
(varchar(MAX)) (date)
========== =============
ALS 10/02/2012
SSP 11/03/2012
MRP 11/05/2012
ALS 14/06/2012
ALS 04/10/2012
ALS 03/11/2012
MRP 05/09/2012
PPL 18/08/2012
Run Code Online (Sandbox Code Playgroud)
我想在desc中按sDate排序列表,但必须显示不同的sNames.请指导我
我认为这是常见的事情......你有一个数据库服务器,并且你想在其中存储客户联系信息.
你需要这个人的姓名,地址,电话等.
存储地址和电话的最佳做法是什么?假设OLTP ......
多人可能拥有相同的电话号码(例如妻子和丈夫,或母亲和女儿).
多人共用一个家庭.
我读了这篇:http://sqlcat.com/sqlcat/b/whitepapers/archive/2008/09/03/best-practices-for-semantic-data-modeling-for-performance-and-scalability.aspx
对于所提到的特定模型,这将工作正常,但我不知道如何优化此模型,而不是非规范化.
例如:
因此,如果我像白皮书那样设计它,我会personid在我的address桌子和phone桌子上有一个.但是,由于多人可能共享同一地址,因此这是不可行的.一个人可能有多个地址甚至没有地址.所以我似乎需要一个人 - >地址映射表以及手机的映射表,否则我会对这两个表进行非规范化,并且在两个共享相同的人的不寻常情况下会有一些重复电话/地址.
无论如何,我提出这个问题的观点是因为看起来很难找到这种类型的"最佳实践",但它似乎就是任何类型的应用程序或数据库中出现的类型.
我是sql的新手.我在数据库中添加了2个新表.第一个主键是另一个的外键.键的类型是整数.现在我想在代码中生成密钥并将其分配给新数据,以便表的不同行之间的关联是正确的.如何确保密钥的唯一性,并从数据库中获取最新密钥,以便在保存时不会出现错误.
如果我使用了guid,那么我会为主键分配一个新的guid,然后将其分配给另一个表中的外键.还有多个客户端和一个保存数据的服务器.
要插入到两个表中的数据在c#代码中确定,而不是从插入主表中的行派生的.即使在db中获取id,那么行之间的关系也应该以某种形式存储在代码中,因为之后它就会丢失.
我正在尝试为每个位置找到特定用户的最后一个条目.我还需要忽略余额为零的任何行.
样品表:
ID location user balance
-- -------- ---- -------
1 GLA A 10.21
2 GLA A 0.00
3 GLA B 45.68
4 GLA B 12.56
5 EDI C 1.23
6 EDI D 5.48
7 EDI D 0.00
8 LON E 78.59
9 MAN F 0.00
10 MAN F 12.98
11 MAN G 56.45
12 MAN G 89.25
13 MAN H 0.00
14 BIR I 0.00
15 BIR I 32.87
Run Code Online (Sandbox Code Playgroud)
结果要求:
ID location user …Run Code Online (Sandbox Code Playgroud) 我的桌子看起来像
ID Name TakenDateTime
2 critical care 19-Dec-12 11:04:45 AM
3 Pathology 26-Dec-12 5:59:28 PM
4 Radiology 05-Jan-13 7:20:56 PM
5 Cardiology 07-Jan-13 3:54:04 PM
6 Neurology 07-Jan-13 3:56:13 PM
7 Oncology 07-Jan-13 3:56:19 PM
9 Orthopedic 08-Jan-13 5:30:29 PM
10 Cardiothoracic 08-Jan-13 5:30:52 PM
Run Code Online (Sandbox Code Playgroud)
从这张桌子我只想要5th number of row data in SQL Server 2005.如果可以,那么请为我提供可行的方法.任何帮助将不胜感激......
在我的表中,我有一个Segment_No重复的列.现在我想更新那些重复项.

例如:值249X5601存在于两行中.我想将第二个值更改为249X5601R
sql-server-2005 ×10
sql ×9
sql-server ×4
c# ×1
database ×1
distinct ×1
replace ×1
sql-update ×1
t-sql ×1