【问题标题】:repeat same row in the SQL selection statement under some conditions在某些条件下重复 SQL 选择语句中的同一行
【发布时间】:2011-11-11 13:28:29
【问题描述】:

我有一个数据库表有四列称为"Courses(CourseID,CourseName,CreditHours,LabSession)",我想编写检索课程表中所有数据的 SQL 语句,此外,如果行中的 LabSession 列有,SQL 必须重复该行(记录)值"Y" 否则按原样检索行而不重复。

顺便说一句,我使用的是 Microsoft SQL Server 数据库

【问题讨论】:

  • 您对 LabSession 的引用... 是否存在与会话相关联的另一个表,可以根据实验室会话的类型指示/表示多行?为了提供帮助,我们也需要看到这一点。
  • 没有与 LabSession 列关联的参考表

标签: asp.net sql sql-server sql-server-2008


【解决方案1】:
select CourseID,CourseName,CreditHours,LabSession from Courses
union ALL
select CourseID,CourseName,CreditHours,LabSession from Courses where LabSession='Y'
order by CourseID

【讨论】:

    【解决方案2】:
    SELECT CourseID, CourseName, CreditHours, LabSession
    FROM Courses
    UNION ALL
    SELECT CourseID, CourseName, CreditHours, LabSession
    FROM Courses
    WHERE LabSession = 'Y'
    ORDER BY CourseId
    

    【讨论】:

      猜你喜欢
      • 2015-01-12
      • 2013-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-30
      相关资源
      最近更新 更多