2016-09-13 2 views
0

休暇中のSQLステートメントで何が問題になっていますか?私は以下のエラーが発生しています。私は、Microsoft SQL Serverを使用しています2012年結合およびグループでのSQLエラーby

SQL文:

SELECT 
    ContentRequests.Title,ContentRequests.ChapterOrArticleTitle, 
    ContentRequests.Institution_Id, 
    Institutions.Name 
FROM 
    [HexDatabaseDev].[dbo].[ContentRequests] 
LEFT JOIN 
    Institutions ON Institutions.Id = ContentRequests.Institution_Id 
GROUP BY 
    ContentRequests.Title 

エラー私は取得しています:

列 'HexDatabaseDev.dbo.ContentRequests.ChapterOrArticleTitle' のでは無効です選択リストは集合関数またはGROUP BY句のいずれにも含まれていないため選択リストには含まれません。

+4

エラーはかなり明確です。 'GROUP BY'を使用すると、集計関数にない' SELECT'のすべての列は 'GROUP BY'にある必要があります – Lamak

+2

集計を実行していない場合はなぜ' GROUP BY'を実行しますか( '' SUM''、 '' MIN''など)。ユニークな組み合わせリストが必要な場合は、 'SELECT DISTINCT Content .... 'を使用してください。 –

答えて

0

グループ化のルール.. SELECT句で

、あなたが凝集体または定数を含む列のみを無視することができ、選択中の列の残りの部分は

することにより、グループにする必要があります

あなたの場合はそうです。

group by 
ContentRequests.ChapterOrArticleTitle,ContentRequests.ChapterOrArticleTitle 
,ContentRequests.Institution_Id 
, Institutions.Name 
+0

説明を助けるために、' ContentRequests.Title'でグループ化していますが、結果セットに 'Institutions.Name' 「ContentRequests.Title」ごとに複数の「Institutions.Name」の結果になる可能性があります。これは、あなたが要求したものを破る - 最初に 'ContentRequests.Title'でグループ化する – saurus

関連する問題