2017-05-12 9 views
0

私は1000人の学生がいるstudentsと呼ばれるテーブルを持っています。私はそれらの学生のどれに無料の授業料があるか教えています。 stduentsテーブルではFreeTuitionというフィールドがあり、そのフィールドにクエリの結果を取り込み/更新したいとします。何らかのループを使用する必要がありますか?クエリに基づくUPDATE SQLテーブル

studentsテーブルには一意のStuCodeがあり、クエリは無料の授業料を持つすべての生徒のStuCodeを返します。これは私が見たいと思う方法です:

| StuCode | FreeTuition | 
------------------------- 
| S12345 | Yes   | 
| S12346 | No   | 
------------------------- 
+1

テーブル構造を転記できますか?私はあなたが一致することができる一意のID列があると仮定しますか? –

+1

親切にデータと表の構造を提供してください –

+0

こんにちは、同じテーブルからこの無料の授業料のクエリですか?あなたがサンプルを与えることができるクエリを共有することができます –

答えて

2

まったくありません。このような何か:

with yourquery as (
     <your query here> 
    ) 
update s 
    set FreeTuition = (case when yq. StuCode is not null then 'Y' else 'N' end) 
    from students s left join 
     yourquery yq 
     on s. StuCode = yq. StuCode; 

注:これはすべて学生のための値を設定し、yesまたはno。 left joinjoinに変更すると、サブクエリから返された生徒の値のみを設定できます。

+0

優れている!ありがとうございました! – tonyyeb

関連する問題