小编Cha*_*des的帖子

查找2列之间是否存在phonenumbers

我正在尝试使用TSQL传递两个10位数的电话号码块.

让我们说:

TelephoneNumber1: 1234560095
TelephoneNumber2: 1234561005
Run Code Online (Sandbox Code Playgroud)

我的表由3列组成:

ID, StartBlock, EndBlock
1, 5671231000, 5671232000
2, 1234561000, 1234562000
3, 2175551200, 2175551300
Run Code Online (Sandbox Code Playgroud)

所以我要做的是找到之间的所有数字TelephoneNumber1,TelephoneNumber2并查看它之间StartBlockEndBlock表中的任何记录之间是否存在.

在这个例子中,它会在第二个记录中找到一个已经在使用的数字,因为当它1234560095到达时1234561000,它会在已经在使用中找到它.

如何完成此操作以查找StartBlock和EndBlock之间正在使用的数字?

sql t-sql loops between

5
推荐指数
1
解决办法
971
查看次数

了解标题和详细信息表

我已经在各种数据库中看到了这个,但我将使用最新的例子.在AdventurWorks2012数据库中,有

  • PurchaseOrderHeader
  • PurchaseOrderDetail

  • SalesOrderHeader的
  • 的SalesOrderDetail

我试图理解为什么你可以将这些设置放在一个表而不是两个表中的概念.很抱歉我对此类设置缺乏了解.我想确保当我创建新表时,我想知道这种类型的设计,它将如何工作类似于我可能合并使用Header和Detail捕获数据输入到表中的原因.

例如

  1. 当前的日期
  2. 这个月
  3. 本财政年度
  4. 公司ID
  5. 修订号
  6. 服务产品1金额
  7. 服务产品2金额
  8. 服务产品3金额
  9. 服务产品4金额
  10. 服务产品5金额
  11. 总金额(上述项目6-10)
  12. 认证日期
  13. 认证官
  14. 提交日期

希望我的问题很明确.

======================

编辑了通过我对@Szymon的响应使用Header/Detail设置的详细示例

在上面的示例中,将其布局为Header/Detail设置.提交记录时,它会生成一个ID,因此我的Header Table将如下所示:

标题表

1,'11/13/13',11,2013,'000001',0,10.00,'11/12/13','President','Chuck','11/12/13'

然后在我的详细信息表中它也会生成一个ID但是使用前一个记录作为FK,它看起来像这样...... 1(新ID),1(先前的标题表的FK),2(作为服务产品1) ,2(作为服务产品2),2(作为服务产品3),2(作为服务产品4),2(作为服务产品5)

细节表

1,1,2.00,2.00,2.00,2.00,2.00

==================================================

再次修订:提供更好的跟进示例.

WKS_Header表:( PK是WKS_Header_ID)

WKS_Header_ID [int] IDENTITY(1,1) NOT NULL,
Company_ID [varchar](6) NOT NULL,
Current_Date [DateTime] NOT NULL, 
Current_Month [int] NOT NULL, 
Current_Fiscal_Year [int] NOT NULL,
Revision_Number [int] NOT NULL,
Worksheet_ID [varchar] (13) NOT NULL,
Total_Amt [money] NOT NULL,
Certification_Date [DateTime] NOT NULL,
Certification_Officer [varchar] (50) NOT …
Run Code Online (Sandbox Code Playgroud)

sql database-design database-normalization

2
推荐指数
1
解决办法
1万
查看次数

澄清 - 使用更新TSQL

我有一个存储过程,如下所示.当我跑步时,它会失败.当我试图在例如WHEN PropertyDefinitionID = @passStatePropertyDefID THEN @passState中更新AGENT STATE语法时,我已经缩小了它的范围 - 代理状态

ALTER procedure [dbo].[usp_UpdateProfile] 
    @passCompanyName varchar(100),
    @passFName varchar(50),
    @passLName varchar(50),
    @passEmail varchar(50),
    @passStreet varchar(50),
    @passCity varchar(50),
    @passState int,
    @passZip varchar(10),
    @passPhone varchar(15),
    @passUserID int
As
Begin
    Declare @passCompanyNamePropertyDefID int 
    Declare @passFNamePropertyDefID int 
    Declare @passLNamePropertyDefID int 
    Declare @passEmailPropertyDefID int
    Declare @passStreetPropertyDefID int
    Declare @passCityPropertyDefID int
    Declare @passStatePropertyDefID int
    Declare @passPostalPropertyDefID int
    Declare @passPhonePropertyDefID int
    Declare @passACURefID int

    Set @passCompanyNamePropertyDefID = 62 -- Local PropertyDefinitionID from server : Agent Company Name …
Run Code Online (Sandbox Code Playgroud)

t-sql sql-update

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

Excel转义单引号和双引号

我需要在 Excel 中的每个单元格中编辑一个公式。但我很难使用 VBA 代码转义单引号和双引号。

这是一个例子:

=+'F-222Alloc'!N2516+'F-222Alloc'!N2526
Run Code Online (Sandbox Code Playgroud)

我需要它看起来像这样

=+INDIRECT("'"&N14&"'!N2511")+INDIRECT("'"&N14&"'!N2526")
Run Code Online (Sandbox Code Playgroud)

如何正确使用REPLACE功能?

excel vba replace excel-formula double-quotes

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

应使用哪种数据类型作为货币计算类型

在我的表中,我想定义一个金额字段.该字段通常是一个只有2位小数的数字

例如,金额最高可达999,999,999.99或999,999,999

该字段乘以一个速率.

费率字段可以是1.11或0.1234(2位小数或4位小数)

然后另一个字段将保存将结果舍入到小数点后2位的总量.如果总金额为2.516,则将结果保存为2.51.如果总金额为2.556,则将结果保存为2.56

我应该在以下字段中使用哪些数据类型?1.金额2.费率3.总金额

我见过定义为FLOAT,十进制,金钱的例子.

sql-server database-design types

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