現在、SQLサーバーで作業しており、ストアドプロシージャを作成してデータを取得しています。私の要件は次のとおりです。
Table A:PersonId,FirstName,LastName,Address,CourseId
(Primary Key For Table B,Foreign Key Here)
Table B:CourseDescription,CourseId
現在、各コースには、そのコースに登録されている複数の学生がいる場合があります。私の要件は、各学生のLastName、FirstNameを連結することです。コースに 3 人以上の学生がいる場合、結果で別のフラグ値を「Y」に設定する必要があります。temp table を使用して Stored proc を使用し、段階的に更新しました。私のストアド プロシージャも次のようになります。一時テーブルには列があります。
SeqId,CourseId,CourseDescription,StudentNameConcat,IsMoreThan3
最初に、コース ID、説明を更新します。次に、このテーブルから、シーケンス id(SeqId) に基づいてループし、学生名のリストを列の値として取得し、宣言された変数に連結します。
このアプローチはセットベースのアプローチではないため、良くありません。内部クエリまたはループ結合を使用して、単一のクエリで代替アプローチが必要であると考えています。私はまだそれを読んで、単一のクエリで実装しようとしています。しかし、まだ手がかりが得られていません。