我有一个表值函数返回一个表.当我尝试JOIN使用另一个表的表值函数时,我没有得到任何结果,但是当我将函数的结果复制到一个实际的表并执行相同的连接时,我得到了预期的结果.
查询看起来像这样:
Select *
From myTable
INNER JOIN fn_function(@parm1, @param2)
ON ....
Run Code Online (Sandbox Code Playgroud)
总而言之,我有大约4个这样的查询,每个查询的功能略有不同,但所有函数都生成相同的表但数据不同.对于其中一些查询的INNER JOIN作品,但对于其他人则没有.
有人建议为什么会这样吗?
有人可以向我解释一下SQL Server如何使用点表示法来识别
表的位置?我一直认为位置是Database.dbo.Table
但我看到的代码有其他代替的dbo东西,例如:
DBName.something.Table
有人可以解释一下吗?
这是我的代码
select len(cast(code as float)),code
from tbl1
where code is not null
Run Code Online (Sandbox Code Playgroud)
这是输出:

我想要在代码列中计数数字。我不明白为什么最后一个被计为12而不是8?
我有一个类似于这个的数据集:

正如您所看到的,一些ABN附加了多个业务名称,而其他ABN只有一个.我想创建一个过滤器,允许用户只查看每个ABN有多个名称的行.例如,将过滤掉ABN 456的文件管理器.
我可以想象我将如何在SQL中编写它,但无法理解如何在Tableau中执行此操作.任何帮助,将不胜感激.
我使用的是 SQL Server 2008,每当我在 SP 中缩进我的代码时,它都会移动 4 个空格。但是当我再次使用 sp_helptext 命令打开代码时,代码仅缩进了 1 个空格。有没有办法来解决这个问题?注意:我不能右键单击 SP 进行修改,我可以查看 SP 的唯一方法是使用 sp_helptext
对不起,这似乎是一个非常简单的问题,但我无法弄清楚.我在函数中间有一小段代码:
if(num > length(unique_state)) stop(NA,call. = F)
Run Code Online (Sandbox Code Playgroud)
我想要的是如果IF STATEMENT的结果为TRUE,那么只需停止该功能并重新运行NA给用户.但是,使用上面的代码我也收到一条消息:
Error: NA
Run Code Online (Sandbox Code Playgroud)
如何结束函数并返回NA?
我的SQL数据如下所示:
Col1
A
A
A
B
B
C
D
Run Code Online (Sandbox Code Playgroud)
我想只为唯一值添加一个键.所以最终结果将如下所示:
Col1 Col2
A 1
A 1
A 1
B 2
B 2
C 3
D 3
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
我有一个对象的ArrayList.每个对象都是Player类型(我拥有的类之一).每个Player对象都有一个getName()方法和一个getValue()方法.getValue方法是整数类型.所有Player对象都进入ArrayList,listOfPlayers.如何找到getValue()最高的PLayer对象?
我知道有一个名为Collections.max()的方法,但对我来说,似乎只有ArrayList只是整数才有效.
谢谢
sql-server ×5
sql ×4
t-sql ×3
function ×2
arraylist ×1
collections ×1
count ×1
indentation ×1
java ×1
r ×1
sql-function ×1
syntax ×1
tableau-api ×1