了解查询是什么和做什么?

时间:2013-05-03 09:20:01

标签: sql tsql

这将是一个奇怪的请求,有人可以用简单的英语解释下面的查询正在做什么,特别是<> 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 ^

2 个答案:

答案 0 :(得分:1)

charindex(expressionToFind, expressionToSearch)函数搜索另一个字符串中字符串的出现。如果找不到该字符串,则返回0,否则返回第二个字符串中第一个字符串的位置。

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

因此,联接会查找丝绸名称中包含的所有SubColours。例如,如果丝绸被称为“高品质的蓝色和绿色丝绸”,则会加入bluegreen子颜色。

答案 1 :(得分:1)

丝绸名称包含与其相关的子颜色名称。子颜色与主要颜色有关。如果丝绸名称包含子颜色名称,则返回丝绸及其相关的主要颜色。