在我的表中有10列用于存储"项目"(游戏服务器).当用户选择项目时,它应循环遍历0-9列(名称为"I0".."I9")并在当前行中的列为空时返回.我无法弄清楚如何在SQL服务器端执行此操作.我只能想到每列的IF EXISTS,但这不是很好..很高兴任何帮助!谢谢
我在SQL中创建了一个包含重复记录的#temp表.
我想从我的主表中删除此临时表中包含的所有记录.我看到样本要执行此操作,但它们似乎都是invovle选择,我已经在临时表中选择了.
这是伪代码的样子:
DELETE FROM MyMainTable(unique and duplicate records) WHERE the record exists in #temp
Run Code Online (Sandbox Code Playgroud) 为表格添加了一个外键关系,我不得不放弃检查创建数据.我假设一些父(公司)对象已被删除,我想找到孤立(分区)记录.如何找到主表中不存在外键的行?
这就是我的想法,但我正在努力使用where子句.
SELECT tb_Division.DivisionName,
tb_Division.DivisionCompanyID
FROM tb_Division
LEFT OUTER JOIN tb_Company ON tb_Division.DivisionCompanyID = tb_Company.CompanyID
WHERE (tb_Company.CompanyID = NULL
OR 'doesn't exist in tb_Company')
Run Code Online (Sandbox Code Playgroud)
任何指针都非常赞赏.
这是SQL:
CREATE TABLE dbo.TmpFeesToRules1(Name varchar, LookupId int)
INSERT INTO dbo.TmpFeesToRules1(Name, LookupId)
SELECT DISTINCT Name, 0 FROM Lending.Fee
UNION SELECT DISTINCT Name, 0 FROM Lending.ApplicationFee
INSERT INTO dbo.tblLookup (LookupType, LookupCode, LookupDesc, EditFlag, DeletedFlag, DefaultFlag)
SELECT 'FEE_CODE', Name, Name, 0, 0, 0
FROM dbo.TmpFeesToRules1
UPDATE dbo.TmpFeesToRules1
SET
LookupId = L.LookupID
FROM
dbo.tblLookup L
INNER JOIN dbo.TmpFeesToRules1 T ON T.Name = L.LookupDesc
WHERE
L.LookupType = 'FEE_CODE'
CREATE TABLE dbo.TmpFeesToRules2(FeeId int, Name varchar)
INSERT INTO dbo.TmpFeesToRules2(FeeId, Name)
SELECT FeeId, Name FROM Lending.ApplicationFee
GO
UPDATE …Run Code Online (Sandbox Code Playgroud) 要求是,两个字段必须相等,你会做什么
declare @var datetime
set @var = getdate()
update table set f1=@var,f2=@var
Run Code Online (Sandbox Code Playgroud)
或者干脆
update table set f1=getdate(),f2=getdate()
Run Code Online (Sandbox Code Playgroud) T-SQL很不错.但我需要在Sql Server中使用更灵活的脚本语言,如javascript.
有人可以帮忙吗?
如何在T-SQL中编写此代码?
var categories = new []{ "cat1", "another category", "one more" };
for (var i = 0; i<categories.count; i++)
{
insert into Categories (id, name)
values (i, categories[i])
}
Run Code Online (Sandbox Code Playgroud)
可能吗?
鉴于以下数据:
CardholderID Source DateTime
-------------- ---------------------------------------- -----------------------
3 2nd_Flr_Ramp_Out_Reader 2010-06-30 13:58:42.410
3 2nd_Flr_Ramp_In_Reader 2010-06-30 13:44:22.417
3 2nd_Flr_Ramp_Out_Reader 2010-06-30 13:41:30.510
3 Lobby_To_Office_Reader 2010-06-30 13:27:51.407
3 2nd_Flr_Ramp_Out_Reader 2010-06-30 13:27:31.313
3 2nd_Flr_Ramp_In_Reader 2010-06-30 13:27:23.203
3 2nd_Flr_Ramp_Out_Reader 2010-06-29 12:03:04.413
3 2nd_Flr_Ramp_In_Reader 2010-06-29 09:18:16.417
3 2nd_Flr_Ramp_Out_Reader 2010-06-28 17:51:08.507
3 2nd_Flr_Ramp_In_Reader 2010-06-28 12:52:28.403
3 2nd_Flr_Ramp_Out_Reader 2010-06-28 12:04:36.407
3 2nd_Flr_Ramp_In_Reader 2010-06-28 09:17:20.407
4 1St_Flr_To_Stairs_Reader 2010-08-02 09:41:14.403
4 1St_Flr_Door_In_Reader 2010-08-02 09:41:12.403
4 1St_Flr_Door_Out_Reader 2010-07-30 18:24:36.400
4 1St_Flr_To_Stairs_Reader 2010-07-30 14:09:54.403
4 1St_Flr_Door_In_Reader 2010-07-30 14:09:48.403
4 1St_Flr_Door_Out_Reader 2010-07-30 13:25:24.407
Run Code Online (Sandbox Code Playgroud)
如何获取"In"源的最短时间以及每个cardholderId的"Out"源的最长时间. …
所以我有一个查询.如果我注释掉检查排除的部分,它会起作用.
WHERE H.BatchId = 3 AND H.IsExcluded != 1
Run Code Online (Sandbox Code Playgroud)
IsExcluded是一个接受NULL值的位字段.
我选择的所有值都是NULL,所以应该是正确的.我究竟做错了什么?它没有按原样返回任何值,但是如果我只注释掉'AND'之后,它会起作用.
一旦我在T-SQL中回滚事务,有没有办法停止执行代码?例如,在下面的代码中,我想要打印"消息1",而不是"消息2".
BEGIN TRANSACTION
GO
PRINT 'Message 1'
ROLLBACK TRANSACTION
GO
PRINT 'Message 2'
GO
Run Code Online (Sandbox Code Playgroud) t-sql ×10
sql-server ×7
sql ×5
.net ×1
aggregation ×1
c# ×1
for-loop ×1
javascript ×1
pivot ×1
temp-tables ×1