标签: sql-server-2005

SQL UPDATE字段仅在重复记录上,初始实例不得更改

仅从表中查找和更新重复记录的最佳方法是什么.例如,下面的记录被认为是重复记录,只有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 sql-server-2005

0
推荐指数
1
解决办法
4864
查看次数

数据库备份问题

我正在使用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 database sql-server-2005

0
推荐指数
1
解决办法
38
查看次数

从一个"非空"列复制到另一个列会产生"无法将空值插入列".

我正在尝试将所有数据从一个表复制到另一个表,因为第二个表的排序有点不同我正在使用以下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)

sql sql-server sql-server-2005

0
推荐指数
1
解决办法
1215
查看次数

sql中两个和的最大总和

我有桌子:

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 sql-server-2005

0
推荐指数
1
解决办法
79
查看次数

在同一SQL查询中按顺序排序

我使用的是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.请指导我

sql sql-server sql-server-2005 sql-server-2008

0
推荐指数
1
解决办法
76
查看次数

在SQL Server 2005中设计联系人数据库

我认为这是常见的事情......你有一个数据库服务器,并且你想在其中存储客户联系信息.

你需要这个人的姓名,地址,电话等.

存储地址和电话的最佳做法是什么?假设OLTP ......

多人可能拥有相同的电话号码(例如妻子和丈夫,或母亲和女儿).

多人共用一个家庭.

我读了这篇:http://sqlcat.com/sqlcat/b/whitepapers/archive/2008/09/03/best-practices-for-semantic-data-modeling-for-performance-and-scalability.aspx

对于所提到的特定模型,这将工作正常,但我不知道如何优化此模型,而不是非规范化.

例如:

  • 人员表=人名,姓,姓等......
  • 地址表=地址ID,地址行1等.
  • 电话表=电话号码,电话号码等...

因此,如果我像白皮书那样设计它,我会personid在我的address桌子和phone桌子上有一个.但是,由于多人可能共享同一地址,因此这是不可行的.一个人可能有多个地址甚至没有地址.所以我似乎需要一个人 - >地址映射表以及手机的映射表,否则我会对这两个表进行非规范化,并且在两个共享相同的人的不寻常情况下会有一些重复电话/地址.

无论如何,我提出这个问题的观点是因为看起来很难找到这种类型的"最佳实践",但它似乎就是任何类型的应用程序或数据库中出现的类型.

database-design sql-server-2005

0
推荐指数
1
解决办法
2715
查看次数

在代码中生成最新int类型主外键的不同方法

我是sql的新手.我在数据库中添加了2个新表.第一个主键是另一个的外键.键的类型是整数.现在我想在代码中生成密钥并将其分配给新数据,以便表的不同行之间的关联是正确的.如何确保密钥的唯一性,并从数据库中获取最新密钥,以便在保存时不会出现错误.

如果我使用了guid,那么我会为主键分配一个新的guid,然后将其分配给另一个表中的外键.还有多个客户端和一个保存数据的服务器.

要插入到两个表中的数据在c#代码中确定,而不是从插入主表中的行派生的.即使在db中获取id,那么行之间的关系也应该以某种形式存储在代码中,因为之后它就会丢失.

c# sql sql-server sql-server-2005

0
推荐指数
1
解决办法
953
查看次数

查找特定用户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)

sql t-sql sql-server sql-server-2005

0
推荐指数
2
解决办法
191
查看次数

如何在SQL Server 2005中获取特定数量的行数据

我的桌子看起来像

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.如果可以,那么请为我提供可行的方法.任何帮助将不胜感激......

sql sql-server-2005

0
推荐指数
1
解决办法
1325
查看次数

如何更新SQL Server 2005中的不同列?

在我的表中,我有一个Segment_No重复的列.现在我想更新那些重复项.

表

例如:值249X5601存在于两行中.我想将第二个值更改为249X5601R

sql replace sql-server-2005 distinct sql-update

0
推荐指数
1
解决办法
1173
查看次数