Ali*_*man 6 c# sql-server sql-server-2005
我的查询中出现以下错误System.Data.SqlClient.SqlException: Incorrect syntax near the keyword 'Distinct'.我搜索了谷歌,但根据我的查询找不到任何有用的解决方案.我的查询就是这个
SqlCommand myCommand = new SqlCommand("select ItemId,Distinct Size from ItemTilesSizes ",
myConnection);
Run Code Online (Sandbox Code Playgroud)
我的表名是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`
Run Code Online (Sandbox Code Playgroud)
Distinct 需要在之后立即去 SELECT
SELECT DISTINCT ItemId,
Size
FROM ItemTilesSizes
Run Code Online (Sandbox Code Playgroud)
如果您希望它仅适用于Size您需要的GROUP BY和定义ItemId应返回哪些可能匹配值的聚合(下面的示例返回最大的值)
SELECT MAX(ItemId) AS ItemId,
Size
FROM ItemTilesSizes
GROUP BY Size
Run Code Online (Sandbox Code Playgroud)
尽管根据评论中的说明,我只是将其作为单列结果集带回来,并在您的应用程序中进行任何所需的连接。如果您必须在 SQL 中执行此操作,则可以使用XML PATH
SELECT STUFF((SELECT ',' + LEFT(ItemId, 10)
FROM ItemTilesSizes
WHERE Size = '8x12'
FOR XML PATH('')), 1, 1, '')
Run Code Online (Sandbox Code Playgroud)