我几乎可以肯定你不能在case语句的上下文中做到这一点,我也找不到任何关于它的文档,但是可以做到以下几点:
SELECT CASE WHEN testValue > 2
THEN testValue(Without Repeating it) ELSE FailValue)
END
FROM Table
Run Code Online (Sandbox Code Playgroud)
一个更好的更彻底的例子:
Select CASE WHEN (Foo-stuff+bar) > 2
THEN Conditional statement without >2 Else "Fail"
END
FROM TABLE
Run Code Online (Sandbox Code Playgroud)
我正在寻找一种方法来创建一个选择而不重复条件查询.
编辑:由于我的一个不好的例子,我一直在寻找缺乏答案:
testValue = (Table.A / Table.B) * Table.C Table.D
SELECT CASE WHEN testValue > 2
THEN testValue ELSE FailValue)
END
FROM Table
Run Code Online (Sandbox Code Playgroud) 我有一个包含多个子报告的主报告,每个报告的查询略有不同,并且显示数据的方式也不同.
因此,在我的情况下,我有一个文本框,需要从不同的报告中编写数据,这些报告具有不同的标准.例如
MainReportTextbox =(Sum(columnA, "Main Dataset"))-(SubReportTextBox))
Run Code Online (Sandbox Code Playgroud)
要么
MainReportTextbox =(Sum(columnA, "Main Dataset"))-(subReportVariable))
Run Code Online (Sandbox Code Playgroud)
我看到了一些建议的解决方案,比如这个.哪个使用该=[Reports]!MainReport!SubReport!Textbox方案.问题是它[Reports]不是公认的标识符.
我确实考虑废弃子报告,只是让所有内容都在同一个主报表上运行,但我们失去了能够单独使用报表的功能,而不会在两个地方保持相同的功能.
所以我想我的问题是,你能从子报告中提取变量或元素(特别是表格中的文本框)吗?
如果答案是根本没有,请告诉我,为什么它是没有或者它是如何从没有MSDN或有效来源,并给出一些有效的反建议的一些信息.
在SQL Server中命名模式是否有任何行业标准命名约定?
不幸的是,像admin这样的一些保留词最清楚地描述了我计划的模式.为了解决这个问题,我一直在讨论如何使模式名称复数,但这种方式没有意义,并且会导致Products.Products模式和表出现问题.
所以我想知道微软或业界是否有任何明确的约定?
所以,说我有以下字符串
THIS IS STUFF (MORE STUFF)
Run Code Online (Sandbox Code Playgroud)
如何在SSRS的文本框中将字符串格式化?
THIS IS STUFF
(MORE STUFF)
Run Code Online (Sandbox Code Playgroud)
此数据是从查询中的单个字段中提取的,我将无法手动注入中断行.
此外,有时(更多东西)不在现场.
额外的例子:
我在表单上有一个按钮,从表单上的列表框中获取RowSource,创建Excel,工作表和查询表对象,将信息查询到excel,然后将其全部格式化.问题是如果用户快速按下鼠标按钮,他或她将多次激活此按钮.
我试图让代码在中间休眠,但这只会导致按下每个按钮的时间与睡眠一样长,然后查询所需的时间长.我用过的:
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Run Code Online (Sandbox Code Playgroud)
我也尝试将焦点设置为另一个控件并禁用按钮,但我不确定如何在设定的时间后重新启用它,因为即使将它放在sub的末尾,Access仍会执行按钮按下每个按钮.
有什么建议?
我试图将MS Access与SQL Server连接,我想确保我不容易受到SQL注入攻击.
我已经看到了使用ADO创建查询的参数化版本的建议,但我想学习如何通过DAO传递来清理我的输入.
目前我正在逃避单引号和反斜杠.
VBA中是否有任何标准的SQL Server注入卫生方法?
假设我有下表:
CREATE TABLE [ExampleTable]
(
[ExampleID] [int] IDENTITY(1,1) NOT NULL,
[ExampleCompositeNumber] [nvarchar](50) NULL,
CONSTRAINT [PK_Certificates]
PRIMARY KEY CLUSTERED ([ExampleID] ASC)
)
Run Code Online (Sandbox Code Playgroud)
我想要的是[ExampleCompositeNumber]成为ExampleID-[000000-999999]。
我希望这个插入能起作用,但我担心两个人同时插入,并且将错误的 ID 分配给第一部分ExampleCompositeNumber
INSERT INTO ExampleTable (ExampleCompositeNumber)
VALUES (CAST(IDENT_CURRENT('ExampleTable') AS nvarchar(18)) + '-123345')
Run Code Online (Sandbox Code Playgroud)
当我使用SCOPE_IDENTITY()而不是IDENT_CURRENT我得到以前插入的ID,而不是我当前正在制作的插入的ID。以下是该插入内容的示例:
INSERT INTO ExampleTable (ExampleCompositeNumber)
VALUES (CAST(SCOPE_IDENTITY() AS nvarchar(18)) + '-123345')
Run Code Online (Sandbox Code Playgroud)
我的担忧是否正确,或者如果发生多次插入,是否有可能重叠?
sql-server ×4
ms-access ×2
sql ×2
ssrs-2008 ×2
vba ×2
case ×1
formatting ×1
insert ×1
pass-through ×1
report ×1
schema ×1
subreport ×1
syntax ×1