7

私はこのクエリを持っています:

SELECT
SolutionName    -- Solution_NAM
from  Table_View
Group By 1

ここで、Table_Viewはもちろんビューです。私はこのエラーメッセージを取得しています:

各GROUPBY式には、外部参照ではない列が少なくとも1つ含まれている必要があります。

これを解決するのを手伝ってもらえますか?Ms SQLServer2008の内部です

4

2 に答える 2

5

Groupby1を与えることはできません

試す

SELECT
SolutionName    -- Solution_NAM
from  Table_View
Group By SolutionName
于 2012-10-04T07:34:48.633 に答える
1

GROUP BYに関するMartinのステートメントは正しいですが、さまざまなバージョンのSQLで、ORDER BYの列名の代わりに列の順序を確実に使用できます(ほとんどのコアSQL構文のISO標準であるTSQLを考えています)。 。

ただし、ORDER BYステートメントで列序数を使用しないことは、機能する場合でも賢明な方法です。なんで?クエリがストアドプロシージャの一部であり、元のテーブル(またはビュー)に列を追加することによってテーブルスキーマが変更された場合、変更によって元の列の順序が維持される保証はありません。これは、意図しない無意味な列で注文している可能性があることを意味します。これにより、アプリケーションが破損します。

毎回序数ではなく列名を使用することをお勧めします(ただし、count(*)のように、本番環境で日の目を見ることのない独自の使用をアドホックに照会する場合は、列名にとらわれないでください)。 。

于 2017-08-08T13:29:24.647 に答える