0

我有 2 个表: nameTable

  • 用户名
  • 用户身份
  • 班级号

标记表

  • 用户身份
  • 班级号
  • 科目编号
  • 分数

我想显示所有具有相同 classId的学生的userId、userName、courseCode、标记

create proc mark__classId
@classId int
as
select marksTable.courseCode, marksTable.userId, marksTable.marks, nameTable.userName
from marksTable, nameTable
where
marksTable.classId = nameTable.classId 

但是这个查询给出了非常模糊的o/p。

假设“ name1 ” id NAME1和 classId 10跟随 courseCode 'C1, C2, C3' 和各自的标记 '80,99,90' 现在我想在输入时显示所有这些信息

exec mark__classId 10
4

1 回答 1

1

你的选择应该更像这样,你只需要使用你的传入参数。以及您应该使用 aJOIN而不是CROSS JOIN带有过滤器的 a

SELECT marksTable.courseCode, marksTable.userId, marksTable.marks, nameTable.userName
FROM marksTable
JOIN nameTable
    ON marksTable.classId = nameTable.classId 
WHERE marksTable.classId = @classId
于 2012-04-07T03:39:39.097 回答