SELECT *
FROM (
SELECT TOP 100
o.[Incident ID],
o.[Affected CI],
o.Title,
o.[Description],
d.[DB NAME],
ROW_NUMBER() OVER(PARTITION BY o.[Incident ID] ORDER BY o.[Incident ID]) rn
FROM Oracle_Incident_Data.dbo.Oracle_Incidents AS O
LEFT JOIN Oracle_Incident_Data.dbo.DB_NAMES_ORA$ AS D
ON CONCAT(COALESCE(o.[Affected CI],' '), COALESCE(o.[Title],' '), COALESCE(o.[Description],' ')) LIKE '%' + d.[DB NAME] + '%'
) a
WHERE rn = 1
Run Code Online (Sandbox Code Playgroud)
一位朋友向我推荐分区,以解决我遇到的问题,即上一个查询返回匹配项,在数据库名称中找不到匹配项并移至下一个事件。现在的问题是我不太明白它在做什么,我想调整匹配。接下来我想弄清楚如何让它加入最长的匹配字符串,但我需要首先了解分区在这个查询中是如何工作的。先感谢您。
我有一列字符串,如下所示:
目标主机:dcmxxxxxxc032.erc.nam.fm.com目标名称:dxxxxxxgsc047.erc.nam.fm.com文件系统/ u01具有4.98%的可用空间 - 低于警告(20)或严重(5)阈值.
列名是[描述]
我要返回的子字符串是(dxxxxxxgsc047.erc.nam.fm.com)
此数据中唯一的一致性是所需的字符串出现在字符串中第5和第6次出现的空格""之间,并且在短语"Target Name:"之后,子字符串的长度发生变化,但它始终以另一个""结尾因此我试图抓住第5和第6空间之间的子串.
我试过了
MID([Description],((FIND([Description],"Target Name: "))+13),FIND([Description]," ",((FIND([Description],"Target Name"))+14)))
Run Code Online (Sandbox Code Playgroud)
但这不起作用.
(编辑:我们使用Tableau 8.2,Tableau 9只有功能不能成为解决方案的一部分,谢谢!)
预先感谢您的帮助.
我在 Salesforce 实例和 S3 存储桶之间的 SnapLogic 集成中使用 Salesforce SOQL snap。
我正在尝试在 Salesforce SOQL 快照字段“SOQL 查询*”中使用 SOQL 查询来返回对象的列名称。例如,我想运行 SOQL 查询以返回“帐户”对象的列名。
我这样做是因为 SOQL 不允许“选择 *”。我已经在 Apex 中看到了代码解决方案,但我正在寻找一种仅使用 SOQL 查询的方法。
partition ×1
salesforce ×1
snaplogic ×1
soql ×1
sql ×1
sql-server ×1
substring ×1
tableau-api ×1