小编sal*_*ere的帖子

如何在T-SQL中加入日期表?

我过去做过RIGHT JOINS没有任何问题.但是,由于某些原因,我无法在日期字段上成功加入日期表.总之,我有两张桌子.第一个表有一个日期列和几个非日期列.然后我有一个日期表,它只有两个日期列.

我通过插入连续13个月的第一个月日期来初始化此日期表.但我的另一张表只有9个月的数据.

所以表A看起来像:

col_A    col_B     col_C
-----    ------    -------
sfds     jkjlj     7-1-2009
rewr     sfsfsd    5-1-2009
xcxvg    sdfsfk    4-1-2009
...
Run Code Online (Sandbox Code Playgroud)

但表B看起来像:

StartDate   EndDate
---------   ---------
7-1-2009    7-31-2009
6-1-2009    6-30-2009
5-1-2009    5-31-2009
...
Run Code Online (Sandbox Code Playgroud)

但是,当我把表B加入A时,如此:

    SELECT *
      FROM TABLE_A A
RIGHT JOIN TABLE_B B ON A.COL_C = B.StartDate
Run Code Online (Sandbox Code Playgroud)

我希望得到12个月的数据,因为Table_B有13个月的记录.但是,相反,我总共只有9个月.有谁知道为什么会这样?还有其他事情我可能会尝试达到相同的结果?

我的主要目标是使Table_A包含过去13个月的每月,即使有空值.现在,它只包括9个月,因为其他4个月没有记录.

sql t-sql sql-server join

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

SSRS文本查询:变量名在查询批处理或存储过程中必须是唯一的

我正在开发SSRS 2008报告,但我想使用所有Text查询而不是使用存储过程.此报告正在使用存储过程,但是当我将此报告更改为使用相同的逻辑但通过文本查询时,我收到以下错误:

本地报告处理期间发生错误数据集"BRSR_Totals"的查询执行失败变量名称"@END_yEAR"已经声明.变量名在查询批处理或存储过程中必须是唯一的.用户取消操作.

问题是我的一些数据集(文本查询)重用了相同的参数,END_YEAR是这些参数之一.如何正确运行此报告?

sql reporting-services ssrs-2008

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

如何编写Perl脚本将文件转换为全部大写?

如何编写Perl脚本将文本文件转换为所有大写字母?

perl file uppercase

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

T-SQL字符串连接多行

可能的重复:
在MS SQL Server 2005中模拟group_concat MySQL函数?
根据ID连接值

我正在尝试在SSMS 2008中编写一个SQL查询,以便按单列进行分组.我有一个只有两列的表:部件号和产品代码.这两列都是VARCHAR数据类型.

现在我的表看起来像:

Part Number              Product Code
111222                   AAAAA
111222                   BBBBB
111222                   CCCCC
111223                   AAAAA
111224                   AAAAA
111225                   AAAAA
111226                   DDDDD
111226                   EEEEE
Run Code Online (Sandbox Code Playgroud)

但我希望这个表格看起来像:

111222                   AAAAA, BBBBB, CCCCC                 
111223                   AAAAA
111224                   AAAAA
111225                   AAAAA
111226                   DDDDD, EEEEE                   
Run Code Online (Sandbox Code Playgroud)

我该怎么做呢?我已经阅读了一些推荐合并功能的网站,但我似乎无法找到一种方法让它正常工作.

sql sql-server sql-server-2008

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

如何将多行合并为一行?

我正在使用 SSMS 2008 R2,并且只是尝试将多行合并为一行。我认为这应该很简单,但目前它在每一行中重复数据。考虑:

create table test
(
Name varchar(30)
)
insert test values('A'),('B'),('C')
select * from test

select distinct Name, coalesce(Name + ', ', '')
from test 
Run Code Online (Sandbox Code Playgroud)

我怎样才能重写它来实现一行:A,B,C

t-sql sql-server coalesce sql-server-2008

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

使用 numpy.mean 分组

我如何计算以下每个 workerid 的平均值?下面是我的示例 NumPy ndarray。第 0 列是 workerid,第 1 列是纬度,第 2 列是经度。
我想计算每个工人的平均纬度和经度。我想使用 NumPy (ndarray) 保留这一切,而不转换为 Pandas。

import numpy
from scipy.spatial.distance import cdist, euclidean
import itertools
from itertools import groupby

class WorkerPatientScores:

    '''
    I read from the Patient and Worker tables in SchedulingOptimization.
    '''
    def __init__(self, dist_weight=1):
        self.a = []

        self.a = ([[25302, 32.133598100000000, -94.395845200000000],
                   [25302, 32.145095132560200, -94.358041585705600],
                   [25302, 32.160400000000000, -94.330700000000000],
                   [25305, 32.133598100000000, -94.395845200000000],
                   [25305, 32.115095132560200, -94.358041585705600],
                   [25305, 32.110400000000000, -94.330700000000000],
                   [25326, 32.123598100000000, -94.395845200000000],
                   [25326, 32.125095132560200, -94.358041585705600],
                   [25326, 32.120400000000000, -94.330700000000000],
                   [25341, …
Run Code Online (Sandbox Code Playgroud)

python arrays group-by numpy numpy-ndarray

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

从字符串转换datetime时转换失败

我正在开发一个C#VS 2008/SQL Server 2005 Express网站应用程序.我已经尝试了一些针对这个问题的修复,但是我的调用栈与其他问题不同.而这些修复并没有解决我的问题.我可以采取哪些步骤来解决这个问题?

这是我的错误:

System.Data.SqlClient.SqlException was caught
  Message="Conversion failed when converting datetime from character string."
  Source=".Net SqlClient Data Provider"
  ErrorCode=-2146232060

  LineNumber=10
  Number=241
  Procedure="AppendDataCT"
  Server="\\\\.\\pipe\\772EF469-84F1-43\\tsql\\query"
  State=1
  StackTrace:
       at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
       at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
       at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
       at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
       at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
       at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
       at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
       at …
Run Code Online (Sandbox Code Playgroud)

c# sql-server-2005 visual-studio-2008

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

如何通过SQL身份验证添加NETWORK SERVICE登录?

我正在尝试添加NETWORK SERVICE登录,因为我仍然无法连接到AdventureWorks3数据库.但我想通过SQL Server身份验证而不是Windows添加此NETWORK SERVICE登录.

当我选择Windows身份验证时,它允许我创建此登录.但是当我选择SQL Server Auth时,它会给我以下错误:为登录'NT AUTHORITY\NETWORK SERVICE'创建失败'...'NT AUTHORITY\NETWORK SERVICE'不是有效名称,因为它包含无效字符.(MS SQL Server,错误:15006)

sql login sql-server-2005-express sql-server-express

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

TSQL CTE错误:')附近的语法不正确

我正在使用SSMS 2008开发TSQL存储过程,并在生成CTE时收到上述错误.我想为此SP添加逻辑以返回每天,而不仅仅是数据的日子.我该怎么做呢?到目前为止,这是我的SP:

ALTER Proc [dbo].[rpt_rd_CensusWithChart]
   @program uniqueidentifier = NULL,
   @office uniqueidentifier = NULL
AS
DECLARE @a_date datetime
SET @a_date = case when MONTH(GETDATE()) >= 7 THEN '7/1/' + CAST(YEAR(GETDATE()) AS VARCHAR(30))
ELSE '7/1/' + CAST(YEAR(GETDATE())-1 AS VARCHAR(30)) END

if exists (
    select  * from tempdb.dbo.sysobjects o    where o.xtype in ('U')  and o.id = object_id(N'tempdb..#ENROLLEES')
) DROP TABLE #ENROLLEES;
if exists (
    select  * from tempdb.dbo.sysobjects o    where o.xtype in ('U')  and o.id = object_id(N'tempdb..#DISCHARGES')
) DROP TABLE #DISCHARGES;

declare @sum_enrollment …
Run Code Online (Sandbox Code Playgroud)

t-sql common-table-expression sql-server-2008

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

如何在SSRS中设置可见性表达式?

我正在使用带有Tablix的SSRS 2008.当字段值= 1时,我想让我的一行可见,当此值= 0时,我想使其不可见.如何配置?现在我右键单击某行并输入表达式的字段值.然后我说"= 1"可见.我也尝试过:="1"(文字),真实,"真实".

但是所有这些都导致行总是出现,无论它是1还是0.这是一个整数字段值.如何根据值重写表达式以使该行可见或不可见?

我认为现在的问题是T-SQL而不是SSMS.目前,它将在不同的行上返回这些记录.相反,我认为我只需要在一行中使用所有这些值,以便所有这些值一次可以出现在表中.我怎么能重写这个片段只在一行上返回相同的信息?

CASE WHEN [test_details].[test_setup_details_caption] LIKE '%?%' 
      THEN LEFT([test_details].[test_setup_details_caption],CHARINDEX('?',[test_details].[test_setup_details_caption]))
      ELSE [test_details].[test_setup_details_caption] END [test_setup_details_caption],
      [test_details_answers_expanded_view].[test_setup_answers_value],
      CASE WHEN [test_details].[test_setup_details_caption] in ( 'Self-Harm', 'Suicidal Ideations / Attempts')
            AND [test_details_answers_expanded_view].[test_setup_answers_value] >0 THEN 1 ELSE 0 END AS [Self_Harm_Flag],
      CASE WHEN [test_details].[test_setup_details_caption] in ( 'Substance Abuse / Drug Use')
            AND [test_details_answers_expanded_view].[test_setup_answers_value] >0 THEN 1 ELSE 0 END AS [Drug_Use_Flag],
      CASE WHEN [test_details].[test_setup_details_caption] in ( 'Homicidal Ideations / Attempts')
            AND [test_details_answers_expanded_view].[test_setup_answers_value] >0 THEN 1 ELSE 0 END AS [Homicidal_Falg],
      CASE WHEN …
Run Code Online (Sandbox Code Playgroud)

t-sql visibility ssrs-2008 ssrs-expression

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