2017-11-24 10 views
0

row_number関数をビューで使用するにはどうすればよいですか?row_number()関数

SELECT 
    ROW_NUMBER() OVER (ORDER BY name ASC), 
    name, family, mobile, tell 
FROM 
    dbo.customer 

が、SQL Serverは、このエラーがスローされます:

は、私はこのようにそれを使用

SQL text cannot be represented in the grid pane and diagram pane.

+0

エラーは次のとおりです:_ _「SQLテキストは、グリッドペインおよびダイアグラムペインで表すことができない」

はまた、それに名前を与える必要がありますか?クエリデザイナーは 'row_number'をサポートしていません。通常のSQLクエリエディタでクエリを実行してみてください。クエリデザイナーはほとんど役に立ちません。 –

答えて

0
あなたがビューに row_number()を使用することができますが、あなたはそれを中に使用する名前を与える必要が

ビュー:

SELECT row_number() over (order by name asc) as seqnum, 
     name, family, mobile, tell 
FROM dbo.customer; 
+0

私はそれを行うが、私に同じエラーを与える – ehsankhan

+0

あなたの答えは完璧ですが、datagrid_viewでこの列の内容は表示されません – ehsankhan

0

問題は、あなたのコラム[name]あり、そしてそれはのだというデータ型text。この特定のデータ型は、2000/2005年以降廃止されました。

[name]列でソート操作を行う必要がある場合は、別のデータ型にする必要があります。 (n)varchar(MAX)を使用する必要があります。

1

エラー:"グリッドペインとダイアグラムペインにSQLテキストを表示できません"

質問デザイナーはrow_numberをサポートしていません。通常のSQLクエリエディタでクエリを実行してみてください。 query designerはまだバグがあり、(このような)多くのものが欠けているのでほとんど役に立ちません。

SELECT ColName = row_number()over(order by name asc), name, family, mobile, tell 
FROM dbo.customer