2013-05-03 82 views
1

這將是一個奇怪的要求,有人可以用簡單的英語解釋下面的查詢是做什麼,特別是<> 0位。瞭解查詢是什麼?

Select S.[Silks_Skey], MC.[MajorColour_Skey], MC.[MajorColour] 
from [dbo].[Silks] S 
inner join [dbo].[SubColour] SC on CHARINDEX(SC.[SubColour],S.[SilksName]) <> 0 
inner join [dbo].[MajorColour] MC on SC.[MajorColour] = MC.[MajorColour] 

感謝

W¯¯

回答

1

在另一個字符串字符串的次數的charindex(expressionToFind, expressionToSearch)功能搜索。如果找不到字符串,則返回0,否則返回第二個字符串中第一個字符串的位置。

inner join [dbo].[SubColour] SC on CHARINDEX(SC.[SubColour],S.[SilksName]) <> 0 

因此,連接會查找包含在絲綢名稱中的所有SubColours。例如,如果絲綢被稱爲「高質量的藍色和綠色絲綢」,這將加入blue和​​子色。

+0

你能幫忙嗎,這是我的整個查詢,但我被告知刪除該工會並將其發送到紅色=紅色,這是絲綢名稱的主要部分。 從[dbo]選擇S. [Silks_Skey],MC。[MajorColour_Skey] 。[Silks] S inner join [dbo]。[SubColour] SC on CHARINDEX(SC。[SubColour],S。[SilksName]) <> 0 內加入[DBO]。[MajorColour] MC上SC。[MajorColour] = MC。[MajorColour] UNION ALL 選擇S. [Silks_Skey],MC。[MajorColour_Skey] 從[DBO]。 [Silks] S inner join [dbo]。[MajorColour] MC上的CHARINDEX(MC。[MajorColour],S。[SilksName])<> 0 ORDER BY S. [Silks_Skey] – wafw1971 2013-05-03 09:29:02

1

絲綢名稱包含與其相關的子顏色名稱。子顏色與主要顏色有關。如果絲綢名稱包含子顏色名稱,則返回絲綢及其相關的主要顏色。

+0

非常感謝。 – wafw1971 2013-05-03 09:27:07