2014-09-26 32 views
0

我在下面的代码...查询工作,但我正在寻找一种更好的方式来搜索特定条件的整个列。我想我的问题将需要一个循环,我只是不知道如何执行它。多个数据库,可能创建一个循环?

的最后一行代码状态 '

其中[dbIdwWhseLC] [DBO]。[tbItemTxt] [sTxt] LIKE' %258912.pdf

258912。 PDF

[IDEAUrlBot]的值。[DBO]。[IDEA项目跟踪]。[文件名]

我想尝试创建一个方法,其中查询读取sTxt中的一个值,然后将整列与进行比较,文件名为。如果找到该值,则显示sTxt,如果不是,则转到sTxt中的下一个值,并开始搜索中的每个值。文件名

如果您需要更多信息,请让我知道。提前致谢。

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

由于表处于不同的数据库中,您是否遇到困难? – 2014-09-27 11:31:36

+0

你还有困难吗? – 2014-10-02 12:26:05

回答

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] 

...和BY子句添加命令,结束来控制结果的排序方式,因此哪一个是“顶部1“。

匹配[FileName][sTxt]时是否需要使用通配符?这不是很清楚,我从哪一列将具有完整的路径(或文件名)和这将对只是“258912.pdf”的描述,但你可以我的最后一行更改为:如果您需要

itemTxt.[sTxt] like ('%' + projTracker.[FileName]) 

比如itemTxt.[sTxt]的第一条记录projTracker.[FileName]projTracker中的每条记录相匹配,请在评论中说明。

如果这些都不符合您的需求,您需要详细说明您需要什么需要。请为您的问题添加更多详细信息,例如输出应该是什么样子或您打算如何处理它的示例。

相关问题