小编007*_*007的帖子

从具有内部联接的SQL表中删除

我有以下查询.

SELECT T2.* FROM Schema.Table1 T1 INNER JOIN
Schema.Table2 T2 ON T1.ColumnName = T2.ColumnName
WHERE  T1.SomeOtherColumn = 123456
Run Code Online (Sandbox Code Playgroud)

我想从上面的查询中删除所有内容(表2中的所有内容都具有基于Inner Join和Where子句的匹配输出.我尝试了以下但不起作用.

DELETE Schema.T2.* FROM Schema.Table2 T2 INNER JOIN 
Schema.Table1 T1 ON T1.ColumnName = T2.ColumnName 
WHERE T1.SomeOtherColumn = 123456
Run Code Online (Sandbox Code Playgroud)

请帮忙!

编辑:

感谢你们.TIL FROM可以在子查询格式中使用两次而不使用它.:)

sql t-sql

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

C# - 文件夹验证

string excludeSubFolders = "SubFolderA, SubFolderB, SubFolderC, SubFolderABC";

DirectoryInfo directory = new DirectoryInfo(myRootFolderPath);
DirectoryInfo[] directories = directory.GetDirectories();

    foreach (DirectoryInfo folder in directories)
       if (folder.Name.ToString().Trim() != "SubFolderA")
          {...}
Run Code Online (Sandbox Code Playgroud)

AC#newbie here.上面是我用来排除驻留在我的根文件夹(myRootFolderPath)中的"SubFolderA"的代码.我需要排除excludeSubFolders变量中列出的所有子文件夹.

谢谢

UPDATE:字符串excludeSubFolders正在通过c#代码之外的参数填充.我刚刚以c#期待的格式列出了该参数的输出.此参数今天也将具有"SubFolderA,SubFolderB,SubFolderC,SubFolderABC"值,而后天,有人会将其更改为"SubFolderA,SubFolderB,SubFolderC"并调用相同的c#代码.如何使用提供的字符串数组建议?

c#

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

连接两个表并连接单个字段的多行

查询:

CREATE TABLE #Temp1 (ID int)
CREATE TABLE #Temp2 (ID int, Value varchar(10))

INSERT INTO #Temp1 (ID)
SELECT 1
UNION ALL
SELECT 2
UNION ALL
SELECT 3

INSERT INTO #Temp2(ID, Value)
SELECT 1,'One-One'
UNION ALL
SELECT 1,'One-Two'
UNION ALL
SELECT 1,'One-One'
UNION ALL
SELECT 2,'Two-One'
UNION ALL
SELECT 2,'Two-Two'
UNION ALL
SELECT 2,'Two-One'

SELECT T1.ID, T2.Value FROM #Temp1 T1 INNER JOIN #Temp2 T2 ON T1.ID = T2.ID

DROP TABLE #Temp1
DROP TABLE #Temp2
Run Code Online (Sandbox Code Playgroud)

电流输出:

ID  Value
1   One-One
1   One-Two …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server

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

实际的列名而不是T-SQL中的*

我有以下查询(样本)

SELECT *
FROM Table_1 1 INNER JOIN
Table_2 2 ON 1.C1 = 2.C1 INNER JOIN
Table_3 3 ON 2.C2 = 3.C2 INNER JOIN
Table_4 4 ON 3.C3 = 4.C3
Run Code Online (Sandbox Code Playgroud)

输出为10+列.

当我将鼠标悬停在*(在"SELECT"之后)时,我得到一个工具提示,其中包含来自这4个表的所有不同列名.

是否有一种方法可以轻松地从*切换到那些列名称,而不是在SELECT之后键入每个列名称?

谢谢

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

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

DateTime差异 - SQL

我试图获取两个DateTime值之间的DateTime差异.

查询我到目前为止,

DECLARE @start datetime = '2012-01-01 12:00:00.000'
DECLARE @end datetime =  '2013-01-01 11:59:59.999'

SELECT 
      CONVERT(VARCHAR(5),DATEDIFF(YYYY, @start, @end))
+'-'+ CONVERT(VARCHAR(5),DATEDIFF(MONTH, @start, @end))
+'-'+ CONVERT(VARCHAR(5),DATEDIFF(SECOND, @start, @end)/86400)
+' '+ CONVERT(VARCHAR(5),DATEDIFF(SECOND, @start, @end)%86400/3600)
+':'+ CONVERT(VARCHAR(5),DATEDIFF(SECOND, @start, @end)%3600/60)
+':'+ CONVERT(VARCHAR(5),(DATEDIFF(SECOND, @start, @end)%60)) 
+'.'+ CONVERT(VARCHAR(5),(DATEDIFF(SECOND, @start, @end)%100))
AS [YYYY-MM-DD HH:MM:SS.MSS]
Run Code Online (Sandbox Code Playgroud)

期望的输出

0001-00-00 23:59:59.999
365 Days, 23 Hours, 59 Minutes, 59 Seconds, 999 Milliseconds
Run Code Online (Sandbox Code Playgroud)

实际产出

1-12-366 8784:0:0.0
Run Code Online (Sandbox Code Playgroud)

谢谢

sql sql-server

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

TSQL - 向上/向下舍入到最接近的秒

代码:

DECLARE @var DATETIMEOFFSET(7) ;

-- Rounding up
SET @var = '2020-03-20 12:00:29.9999999 -08:00' ;
SELECT  DATEADD ( ms, 500 - DATEPART ( ms, DATEADD ( MILLISECOND, 500, @var )), @var ) ;
-- Actual: 2020-03-20 12:00:30.0009999 -08:00
-- Expected: 2020-03-20 12:00:30.0000000 -08:00 -- Notice that precision is rounded up to '0000000'

-- Rounding down
SET @var = '2020-03-20 12:00:30.0000001 -08:00' ;
SELECT  DATEADD ( ms, 500 - DATEPART ( ms, DATEADD ( MILLISECOND, 500, @var )), @var ) ; …
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server datetime date sql-server-2016

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

更新表t-sql中的多个值

我有多个列,其中一个列具有varchar值,如下所示.

1
2
4
02
05
6
03
06
123
32
87
Run Code Online (Sandbox Code Playgroud)

我想找到任何具有以0开头的值的记录>删除该0(所以02> 2)并更新该字段,这样就没有以0开头的值.

我怎样才能这样做而不是手动更新前面有0的每条记录?这甚至可能吗?

谢谢

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

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

T-SQL-计算变量中的唯一字符

目标:以最快的方式计算变量中不同字符的数量。

DECLARE @String1 NVARCHAR(4000) = N'1A^' ; --> output = 3
DECLARE @String2 NVARCHAR(4000) = N'11' ; --> output = 1
DECLARE @String3 NVARCHAR(4000) = N'*' ; --> output = 1
DECLARE @String4 NVARCHAR(4000) = N'*A-zz' ; --> output = 4
Run Code Online (Sandbox Code Playgroud)

我发现了有关一列中不同字符,按字符分组等的一些帖子,但在这种情况下没有一个。

sql t-sql sql-server sql-server-2016

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

标签 统计

sql ×6

sql-server ×6

t-sql ×6

sql-server-2008 ×2

sql-server-2016 ×2

c# ×1

date ×1

datetime ×1