小编Maz*_*har的帖子

具有多个值的列的TSQL组

我在SQLServer 2008r2中有一个表,如下所示.

示例数据集

我想选择[Fg]列= 1的所有记录,其中每个记录连续按[Id]顺序导入每个[T_Id][N_Id]组合的值2 .

可能存在[Fg]= 2 之前的记录不= 1的情况

可以有任意数量的记录,其值[Fg]= 1,但只有一个记录,其中[Fg]每个记录= 2 [T_Id][N_Id]组合.

因此,对于下面的示例,我想选择带有[Id]s(4,5)和(7,8,9)和(19,20)的记录.

[T_Id]不包括3和4的任何记录.

预期产出

预期产出

示例数据集

DECLARE @Data TABLE ( Id INT IDENTITY (1,1), T_Id INT, N_Id INT, Fg TINYINT )

INSERT INTO @Data
(T_Id, N_Id, Fg)
VALUES
(1, 2, 0), (1, 2, 1), (1, 2, 0), (1, 2, 1), (1, 2, 2), (2, 3, 0), (2, 3, 1), …
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server sql-server-2008-r2

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

如何在多个列中应用相同的COALESCE参数

我必须在两个条件下加入两个表.我希望如果第二个条件不成立但表1中有一个空白单元格然后加入该行.如果第二个条件不成立则返回零.

加入表1和表2 - 返回表1和表1中的第3,4和5列.

DECLARE @table1 TABLE (
     letter CHAR(1),
     num1 INT,
     num2 NUMERIC(5,2),
     num3 INT,
     num4 NUMERIC(5,2)
)  

DECLARE @table2 TABLE (
    letter CHAR(1),
    num1 INT
)
INSERT INTO @table1 VALUES      
    ('A', 1, 0.25, 10, 0.5),  
    ('A', 2, 0.50, 15, 0.75),  
    ('A', 3, 0.25, 20, 1),  
    ('A', null, 0.50, 25, 1.5),  
    ('B', 1, 0.25, 10, 0.5),  
    ('B', 2, 0.50, 15, 0.5),  
    ('B', 3, 0.25, 20, 0.75)

INSERT INTO @table2 VALUES   
    ('A', 1),  
    ('A', 2),  
    ('A', 3),  
    ('A', 5),  
    ('B', …
Run Code Online (Sandbox Code Playgroud)

sql sql-server

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

编写服务器属性和数据库属性的脚本

微软SQL 2014

如果可能的话,有人可以提供tsql来从服务器属性和数据库属性页面中提取设置吗?

数据库属性 服务器属性

谢谢

t-sql sql-server sql-server-2014

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