【问题标题】:Display multiple (two) tables in single view在单个视图中显示多个(两个)表
【发布时间】:2022-06-10 20:37:22
【问题描述】:

我有这两张表:

CREATE TABLE Student
(
    Id             uniqueidentifier PRIMARY KEY DEFAULT NEWID(), 
    UserId         uniqueidentifier REFERENCES [User] (Id), --associated user
    FirstName      nvarchar(50) NOT NULL,
    DisplayName    nvarchar(30),
    LastName       nvarchar(30) NOT NULL,
    Gender         int,
    BirthDate      date,
);
CREATE TABLE Teacher
(
    Id          uniqueidentifier NOT NULL PRIMARY KEY DEFAULT NEWID(),
    FirstName   nvarchar(50),
    LastName    nvarchar(50),
    DisplayName nvarchar(50),
    Abbreviation    nvarchar(10)     NOT NULL UNIQUE,
    UserId      uniqueidentifier REFERENCES [User] (Id), --associated user
);

为了确保User 只能关联两个人,我想创建一个视图Person,显示来自TeacherStudent 的所有行,以及其所有字段,还有一点表明它是学生还是老师。然后我会在 Person 上添加一个 UNIQUE INDEX,以确保其 UserId 列中的唯一性。

我尝试了很多东西,比如加入,APPLYUNION;但我无法让它工作

【问题讨论】:

  • 包括这些尝试,解释为什么它们不起作用。 UNION (ALL) 似乎是你想要的。

标签: sql sql-server tsql


猜你喜欢
  • 1970-01-01
  • 2019-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多