关键字';附近的语法不正确;与众不同;
本文关键字:语法 不正确 与众不同 关键字 | 更新日期: 2023-09-27 18:22:41
我的查询System.Data.SqlClient.SqlException: Incorrect syntax near the keyword 'Distinct'
中出现以下错误。我在谷歌上搜索过,但根据我的查询没有找到任何有用的解决方案。我的问题是这个
SqlCommand myCommand = new SqlCommand("select ItemId,Distinct Size from ItemTilesSizes ",
myConnection);
我的表名是ItemTilesSizes
,它有两列
ItemId Size
1 8x13
1 8x12
5 8x10
5 8x12
5 8x13
8 10x10
8 4x4
9 8x12
14 8x13
15 8x10
15 24x24`
DISTINCT
必须排在第一位,但它将为您提供所有不同的ItemId
和Size
对。这是你想要的,还是你在寻找其他东西?
Distinct
需要在SELECT
之后立即进行
SELECT DISTINCT ItemId,
Size
FROM ItemTilesSizes
如果您希望它仅适用于Size
,则需要GROUP BY
和一个聚合来定义应返回哪些可能匹配的ItemId
值(以下示例返回最大值)
SELECT MAX(ItemId) AS ItemId,
Size
FROM ItemTilesSizes
GROUP BY Size
尽管从注释中的澄清来看,我只是将其作为单列结果集带回,并在应用程序中进行任何所需的串联。如果必须在SQL中执行,则可以使用XML PATH
SELECT STUFF((SELECT ',' + LEFT(ItemId, 10)
FROM ItemTilesSizes
WHERE Size = '8x12'
FOR XML PATH('')), 1, 1, '')
与SELECT关键字一起使用的SQL DISTINCT命令仅检索唯一的数据项,这取决于您在其后面指定的列列表。因此,您必须在选择查询中使用如下DISTINCT指令
"select DISTINCT ItemId,Size from ItemTilesSizes"
这将从表中同时选择ItemID和Size的唯一记录。
使用
select distinct ItemId, ...