这将是一个奇怪的请求,有人可以用简单的英语解释下面的查询正在做什么,特别是<> 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 ^
答案 0 :(得分:1)
charindex(expressionToFind, expressionToSearch)
函数搜索另一个字符串中字符串的出现。如果找不到该字符串,则返回0
,否则返回第二个字符串中第一个字符串的位置。
inner join [dbo].[SubColour] SC on CHARINDEX(SC.[SubColour],S.[SilksName]) <> 0
因此,联接会查找丝绸名称中包含的所有SubColours。例如,如果丝绸被称为“高品质的蓝色和绿色丝绸”,则会加入blue
和green
子颜色。
答案 1 :(得分:1)
丝绸名称包含与其相关的子颜色名称。子颜色与主要颜色有关。如果丝绸名称包含子颜色名称,则返回丝绸及其相关的主要颜色。