私はcustid、lastname、firstname、およびDOBがあるテーブルを持っています。グループ化/ SQL SERVERの関連クエリの印刷
私のタスクは、フィフティーズ、カストは、1950年に誕生した場合、そのレコードのための新たなcolumは言うべきつまり...顧客が生まれた十年を与える文字列で
の1つの以上の列を作成することです Custが1974年に生まれた場合、そのレコードの新しい欄には、70年代が記されています。等々。
私は10年ごとにグループ化して、10年の "ストリング"表現が生まれた新しい列を作っていかなければならないと思います。
これは、私は新しい列としてDOBYEARを作成年代、80年代、年代、そして20世紀70年代と前に」、などの入力文字列にしようとしています...
Select DateOfBirth, COUNT(DateOfBirth) as 'DOBYEAR' From Customers Group by DateOfBirth Order By DateOfBirth asc If (Customers.DateOfBirth <= '1979') begin set DOBYEAR = 'Seventies and Before' end If (Customers.DateOfBirth between '1980' and '1989)' begin set DOBYEAR = 'Eighties' end If (Customers.DateOfBirth between '1990' and '1999') begin set DOBYEAR = 'Nineties' end If Customers.DateOfBirth >= '2000' Begin set DOBYEAR = '20th century' end Go
私の試みであります... 。
私に、次のエラーが発生します。
Msg 102, Level 15, State 1, Line 6
Incorrect syntax near '='.
Msg 102, Level 15, State 1, Line 10
Incorrect syntax near '='.
Msg 102, Level 15, State 1, Line 14
Incorrect syntax near '='.
Msg 102, Level 15, State 1, Line 18
Incorrect syntax near '='.
正しい方向に私を導いてください。
「DOBYEAR = '70年代とそれ以前」の代わりに「70年代以前の印刷」を使用できますか?
多分、私はIF文を使わずにこれを行うことができますが、方法はわかりません。
あなたがこれを行うには、グループを必要としないThankX
はこの宿題はありますか? –
私たちはこれを学んだことはありませんが、これは家に帰るようなものです...あなたの自己...割り当てのタイプを助けるためにそれに取り組んでください。 –