【发布时间】:2017-05-22 14:22:40
【问题描述】:
我想在下面声明一个变量@Grade:
Declare @Grade varchar(max)''
Select @Grade = ...
连接表需要满足以下条件:
如果 table1 subjectid 存在于 tableA id 中,则为每个 studentid 从 tableA 中选择 @Grade
如果 table1 subjectid 存在于 tableB id 中,则为每个 studentid 从 tableB 中选择 @Grade
如果tableC id中存在table1 subjectid,则为每个studentid从tableC中选择@Grade
Sample Table1 - Student
Student ID Subject ID Rating
100 200 A
101 200 B
102 300 A
103 400 B
104
105 300 A
Sample TableA - Chinese
Subject ID Rating Grade
200 A Good
200 B Poor
Sample TableB - English
Subject ID Rating Grade
300 A Good
300 B Poor
Sample TableC - Maths
Subject ID Rating Grade
400 A Good
400 B Poor
Expected output:
Student ID Subject ID @Grade
100 200 Good
101 200 Poor
102 300 Good
103 400 Poor
104
105 300 Good
有人可以帮我解决这个问题吗?
【问题讨论】:
-
什么 rdbms?
table1 id是什么? -
请查看更新后的表格,谢谢
-
不。不知道您要在这里做什么。我猜这里的表 1、A、B 和 C 是您的样本数据?如果有,对应的预期结果是什么?
-
基本上,目标是如果主表 1 中的科目 ID 存在于表 A 或 B 或 C 中,则为每个科目的每个学生 ID 从表 A 或 B 或 C 中选择相应的等级.而 Grade 实际上是一个要声明的变量...
标签: sql