2014-09-26 79 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中的每條記錄相匹配,請在評論中說明。

如果這些都不符合您的需求,您需要詳細說明您需要什麼需要。請爲您的問題添加更多詳細信息,例如輸出應該是什麼樣子或您打算如何處理它的示例。