我在下面有以下代码...查询有效,但我正在寻找一种更好的方法来搜索整个列以查找特定条件。我想我的问题是需要一个循环,我只是不确定如何执行它。
最后一行代码声明'
[dbIdwWhseLC]。[dbo]。[tbItemTxt]。[sTxt] like'%258912.pdf
值 258912.pdf 是
中的值[IDEAUrlBot]。[dbo]。[IDEA项目跟踪器]。[文件名]
我想尝试创建一种方法,其中查询读取 sTxt 中的一个值,然后将整列与文件名进行比较。如果找到该值,则显示 sTxt ,否则,转到 sTxt 中的下一个值,然后开始搜索文件名中的每个值。< / p>
如果您需要其他信息,请与我们联系。提前谢谢。
Select [dbIdwWhseLC].[dbo].[tbItemTxt].[nItemId]
, [sTxtType]
, [IDEAUrlBot].[dbo].[tbl_IDWItems].[nUrlId]
, [IDEAUrlBot].[dbo].[tbl_Urls].[sUrl]
, [sTxt]
, [Filename]
, [dbIdwWhseLC].[dbo].[tbItemTxt].[vUpdateDt]
From [dbIdwWhseLC].[dbo].[tbItemTxt]
Left Join [IDEAUrlBot].[dbo].[tbl_IDWItems] on [dbIdwWhseLC].[dbo].[tbItemTxt].[nItemid] = [IDEAUrlBot].[dbo].[tbl_IDWItems].[nItemid]
Join [IDEAUrlBot].[dbo].[tbl_Urls] on [IDEAUrlBot].[dbo].[tbl_IDWItems].[nUrlId] = [IDEAUrlBot].[dbo].[tbl_Urls].[nUrlId]
Join [IDEAUrlBot].[dbo].[IDEA Project Tracker] on [IDEAUrlBot].[dbo].[tbl_IDWItems].[nUrlId] = [IDEAUrlBot].[dbo].[IDEA Project Tracker].[UrlId]
Where [dbIdwWhseLC].[dbo].[tbItemTxt].[sTxt] like '%258912.pdf'
答案 0 :(得分:0)
如果我理解正确,应该可以这样做:
select itemTxt.[nItemId]
, [sTxtType]
, idwItems.[nUrlId]
, urls.[sUrl]
, [sTxt]
, [Filename]
, itemTxt.[vUpdateDt]
From [dbIdwWhseLC].[dbo].[tbItemTxt] as itemTxt
Left Join [IDEAUrlBot].[dbo].[tbl_IDWItems] as idwItems
on itemTxt.[nItemid] = idwitems.[nItemid]
Join [IDEAUrlBot].[dbo].[tbl_Urls] as urls
on idwItems.[nUrlId] = urls.[nUrlId]
Join [IDEAUrlBot].[dbo].[IDEA Project Tracker] projTracker
on itemText.[nUrlId] = projTracker.[UrlId]
Where itemTxt.[sTxt] like '%258912.pdf' -- not sure you intend this to remain
and projTracker.[FileName] = itemTxt.[sTxt]
但是这很简单,以至于你要找的东西必须有一些方面,这对我来说并不清楚。
在[FileName]
和[sTxt]
之间找到匹配项后,是否要停止搜索?如果您只想返回一条记录,只需将第一行更改为
select top 1 itemTxt.[nItemId]
...并在末尾添加一个ORDER BY子句来控制结果的排序方式,因此哪一个是&#34; top 1&#34;。
匹配[FileName]
和[sTxt]
时是否需要使用通配符?从描述中我不清楚哪个列具有完整路径(或文件名),哪个列只有&#34; 258912.pdf&#34;,但您可以将我的最后一行更改为:< / p>
itemTxt.[sTxt] like ('%' + projTracker.[FileName])
如果您需要更复杂的内容,例如itemTxt.[sTxt]
中与projTracker.[FileName]
中每条记录匹配projTracker
的第一条记录,请在评论中说明。
如果这些都不符合您的需求,那么您需要详细说明您做所需要的内容。请在您的问题中添加更多详细信息,例如输出应该是什么样的示例或您打算如何处理它。