多くのテーブルを結合する sql クエリを作成しましたが、テーブルの 1 つの列のみをグループ化したいと考えています。そして、これが私のslqクエリです。
select us.Username, ro.Role, ca.CartName, ca.Date from Users us
left join Roles ro on ro.RoleID = us.RoleID
left join Carts ca on ca.UserId = us.ID
group by ca.Date;
そして、ここにテーブルの破壊があります:
//テーブル ユーザー
ID Username RoleID
1 Tri 1
2 Lan 1
3 Nhu 1
4 Lac 1
5 Linhchi 2
//テーブルの役割
RoleID Role Description
1 Admin Someone in administrator board
2 User Someone who has an account
3 Guess Someone who just view the website
//テーブルカート
CartId CartName CartDescription UserId Date
1 Computer Computer CMS 1 2/11/2013 12:00:00 AM
2 Desk Writing Desk 2 2/11/2013 12:00:00 AM
3 Print Paper Company's print paper 3 3/11/2013 12:00:00 AM
4 Headphone Small headphone 3 2/11/2013 12:00:00 AM
5 MP3Player MP3Player Portable 4 4/11/2013 12:00:00 AM
//クエリ実行後のDesireTable
Username Role CartName Date
Tri Admin Computer 2/11/2013 12:00:00 AM
Lan Admin Desk 2/11/2013 12:00:00 AM
Lan Admin Headphone 2/11/2013 12:00:00 AM
Nhu Admin Print Paper 3/11/2013 12:00:00 AM
Lac Admin MP3Player 4/11/2013 12:00:00 AM
したがって、結果は「カート」テーブルの「日付」列でグループ化する必要があります。しかし、クエリはエラーメッセージ「Column 'Carts.Date' is invalid in the select list because it is not included in a aggregate function or the GROUP BY clause.」を生成しました。この問題を解決するには、あなたの助けが必要です。