2013-05-03 86 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