在 SQL 中使用 LIKE
Using LIKE in SQL
代码的第一部分是我用来创建大小 class 报告的代码。它工作得很漂亮。但是,我需要缩小此操作的范围,但仅限于以 11 或 21 开头的 CODE 值。代码是一个字符 (6) 主键字段,如果有帮助的话。我尝试使用的 Where 语句位于底部。我把它放在第一个 SELECT 语句之后。我得到一个不正确的语法错误。
我把 where 语句放在哪里有关系吗?
其次,where 语句是否符合其预期目的?
SELECT
[Areas].[Area],
[classSizes].[sizeclass],
SUM([data].[Employment]) AS [Employment in Size Class],
CASE COUNT([data].[Employment])
WHEN 0 THEN NULL
ELSE COUNT([data].[Employment])
END AS [Number of Sites]
FROM (SELECT DISTINCT
[Area]
FROM [sizeclassreport]) AS [Areas]
CROSS JOIN (SELECT DISTINCT
[sizeclass]
FROM [sizeclassreport]) AS [classSizes]
LEFT OUTER JOIN [sizeclassreport] [data]
ON [Areas].[Area] = [data].[Area]
AND [classSizes].[sizeclass] = [data].[sizeclass]
GROUP BY
[areas].[Area],
[classSizes].[sizeclass]
ORDER BY
[areas].[Area],
[classSizes].[sizeclass]
Where code like '11%' or '21%'
Msg 156, Level 15, State 1, Line 2
Incorrect syntax near the keyword 'Where'
除了其他人所说的关于从句顺序的内容外,这是无效的语法:
Where code like '11%' or '21%'
你需要写成:
Where code like '11%' or code like '21%'
代码的第一部分是我用来创建大小 class 报告的代码。它工作得很漂亮。但是,我需要缩小此操作的范围,但仅限于以 11 或 21 开头的 CODE 值。代码是一个字符 (6) 主键字段,如果有帮助的话。我尝试使用的 Where 语句位于底部。我把它放在第一个 SELECT 语句之后。我得到一个不正确的语法错误。
我把 where 语句放在哪里有关系吗? 其次,where 语句是否符合其预期目的?
SELECT
[Areas].[Area],
[classSizes].[sizeclass],
SUM([data].[Employment]) AS [Employment in Size Class],
CASE COUNT([data].[Employment])
WHEN 0 THEN NULL
ELSE COUNT([data].[Employment])
END AS [Number of Sites]
FROM (SELECT DISTINCT
[Area]
FROM [sizeclassreport]) AS [Areas]
CROSS JOIN (SELECT DISTINCT
[sizeclass]
FROM [sizeclassreport]) AS [classSizes]
LEFT OUTER JOIN [sizeclassreport] [data]
ON [Areas].[Area] = [data].[Area]
AND [classSizes].[sizeclass] = [data].[sizeclass]
GROUP BY
[areas].[Area],
[classSizes].[sizeclass]
ORDER BY
[areas].[Area],
[classSizes].[sizeclass]
Where code like '11%' or '21%'
Msg 156, Level 15, State 1, Line 2
Incorrect syntax near the keyword 'Where'
除了其他人所说的关于从句顺序的内容外,这是无效的语法:
Where code like '11%' or '21%'
你需要写成:
Where code like '11%' or code like '21%'