小编Gio*_*uri的帖子

从表字段中查找所有行的唯一字符

如何查找多行字段中使用的不同字符的数量。

例如,如果有两行具有类似 的数据abcdeaafg*则使用的不同字符是abcdefg*

sql t-sql sql-server

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

sql排名只有连续的行

我有一个查询,我在3列的基础上排名行.我成功地这样做了,除了如果任何行在这3列中包含相同的数据,即使它在输出中不连续,它也会给它下一个等级.我希望如果任何行匹配这些列中的数据,只有当它在连续的行中时才应该给出下一个等级,如果不是那么它应该再次给它排名为1.我尝试了以下代码:

  SELECT DISTINCT DENSE_RANK () OVER (PARTITION BY Patient_ID, 
                                                 Opnametype, 
                                                 afdelingscode ORDER BY  Patient_ID, Opnamenummer, SPECIALISMEN, Opnametype, OntslagDatumTijd) AS rnk, 
                *
  FROM t_opnames
  ORDER BY Patient_ID, Opnamenummer, SPECIALISMEN, Opnametype, OntslagDatumTijd
Run Code Online (Sandbox Code Playgroud)

它输出为:

rnk Opnamenummer Patient_ID afdelingscode     Opnametype   Specialismen  OntslagDatumTijd ...
1   2983800      100006     RD8-GH MAU        Inpatient-E  GM            2014-09-01 14:50:00.000
2   2983800      100006     RD8-GH MAU        Inpatient-E  GM            2014-09-02 19:32:00.000
1   2983800      100006     RD8-GH Ward 08    Inpatient-E  GM            2014-09-03 17:12:00.000  
1   2983800      100006     RD8-GH Endo       Inpatient-E  GM            2014-09-09 09:06:00.000
2   2983800      100006     RD8-GH …
Run Code Online (Sandbox Code Playgroud)

sql-server rows continuous rank sql-server-2008

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

在sql中选择只有一个不同列的多个列

我需要查询SQL数据库以查找一列的所有不同值,我需要另外两列中的任意值.例如,下面的表格考虑有三列:CurrencyCode,BuyRateSellRate:

CurrencyCode  BuyRate  SellRate
AUD           1.037    1.97
AUD           1.079    1.99
EUR           0.7288   0.8763
EUR           0.731    0.88
GBP           0.59     0.72
Run Code Online (Sandbox Code Playgroud)

我希望检索一行具有不同的行CurrencyCode,也许获取这三行:

CurrencyCode  BuyRate  SellRate
AUD           1.037    1.97
EUR           0.7288   0.8763
GBP           0.59     0.72
Run Code Online (Sandbox Code Playgroud)

我试过我的SQL查询:

SELECT distinct CurrencyCode, BuyRate, SellRate FROM  Currencies
Run Code Online (Sandbox Code Playgroud)

但是我没有得到理想的结果,因为它区分了所有列.

sql sql-server

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

使用LINQ确定该序列包含其他序列,顺序相同

样品:

a)1,2,3,4,5

b)2,3,4

a包含b.

不像.Intersect(),我需要保持序列顺序,即:

c)4,3,2

a不包含c.

c# linq

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

如何在 SQL Server 中为多列使用东西函数?

我需要连接具有相同 Id 的两行的两个值并为其他列求平均值。这是我的示例表:

在此处输入图片说明

现在我的要求是我需要连接Response列,连接Response Rating列并平均Rating Avg列(如果它具有相同的ParticipantId, UseriD, QuestionId and ConductedById.

这是我想要的目标数据:

在此处输入图片说明

这里Response列和Response rating列与各自的行连接,Rating Avg列取平均值。我以前使用stuff函数完成了一列连接。这可以使用东西功能来实现吗?

sql sql-server sql-server-2008

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

按日期搜索另一个表中的特定行

我有这张桌子:

SELECT * FROM #BH2

BookingID | Detail                                               | CreatedAgentCode | ChangeDate    
----------|------------------------------------------------------|------------------|--------------------------    
196162093 |  MRS LUCIENE CORREA correa MRS LUCIENE  CORREA       | lclisboa         | 2015-01-18 13:29:35.130
196162093 |  MRS LUCIENE CORREA LISBOA MRS LUCIENE CORREA correa | VOMATOS          | 2015-01-18 13:25:26.420
Run Code Online (Sandbox Code Playgroud)

还有这个:

SELECT * FROM BookingPassengerVersion WHERE BookingID = 196162093  ORDER BY ModifiedDate DESC

BookingID | Title | FirstName | MiddleName | LastName | AgentCode |  ModifiedDate     
----------|-------------------------------------------------------|----------------------------    
196162093 |  MRS  | LUCIENE   |            | CORREA   | lclisboa  | …
Run Code Online (Sandbox Code Playgroud)

sql sql-server

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

无法调用公共实例方法AddOrUpdate,mocking

虽然嘲笑我的ApplictionDbContext方法有错误AddOrUpdate.

DbSet 在上下文中是虚拟的.

测试方法:

this.db.ExpensesDocuments.AddOrUpdate(doc);
Run Code Online (Sandbox Code Playgroud)

我的测试方法:

[Fact]
        public void AddOrUpdateExpenses_Success()
        {
            // arrange
            var mockSet = new Mock<DbSet<ExpensesDocument>>();
            var mockContext = new Mock<ApplicationDbContext>();
            mockContext.Setup(m => m.ExpensesDocuments).Returns(mockSet.Object);

            var provider = new ExpensesProvider(mockContext.Object);

            // act
            bool result = provider.AddOrUpdateExpenses(new ExpensesDocument());

            // assert
        }
Run Code Online (Sandbox Code Playgroud)

错误:

结果消息:System.InvalidOperationException:无法在派生的IDbSet类型'Castle.Proxies.DbSet`1Proxy'上调用public,实例方法AddOrUpdate.找不到方法.

我正在使用Moq4框架进行模拟和xUnit测试.

c#

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

有序并行执行

我有一个有序列表,如[1, 2, 3, 4, 5, 6, 7, 8, 9, 10].我将它传递给一份Parallel.ForEach声明.我可以以某种方式实现以下桶的执行顺序,例如:处理前3个项目[1, 2, 3],其中桶本身的排序不是强制性的,[2, 1, 3]例如可以.然后处理接下来的3个项目[4, 5, 6]等?

c# multithreading task-parallel-library parallel.foreach

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

SQL查询 - 按字符串排序(包含数字和字符)

我需要一些sql查询帮助,但我无法使其工作.我需要按编号依次订购这些值.

有什么建议怎么办?

我正在努力Sql Server 2014,但我认为这是无关紧要的.

Cod_Turma   Turma
1           11-A
2           11-F
3           10-F
4           11-G
5           11-I
6           10-E
7           12-L
8           10-J
9           7-B
10          9-B
11          7-E
12          7-D
13          12-H
Run Code Online (Sandbox Code Playgroud)

输出应该是:

Cod_Turma   Turma
9           7-B
12          7-D
11          7-E
10          9-B
...
Run Code Online (Sandbox Code Playgroud)

sql sql-server

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

使用pivot重新排列sql表中的数据

我有数据:

2014-10-28  Excess   1025   98297654999.82
2014-10-29  Excess   251    1902171582.07
2014-10-28  Pastdue  1590   7645464003.17
2014-10-29  Pastdue  13       3704776.10
Run Code Online (Sandbox Code Playgroud)

我需要这样的数据:

Date       ExcessCount  ExcessAmt   PassCount   PassAmt
28/10/2015  1025       98297655000     1590     7645464003
29/10/2015  251        1902171582      13       3704776.1
Run Code Online (Sandbox Code Playgroud)

请让我知道如何做到这一点.

sql-server

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