具有FK关系的2个表中的SQL视图

时间:2015-03-19 17:35:47

标签: sql view sql-server-2008-r2

我使用SQL Server 2008 R2,我有两个表,如:

create table Client
(
    Id int identity(1,1) Primary Key,
    Name varchar(30) not null,
    LastName varchar(30) not null,
    Tel int not null unique,
    Email varchar(30),
    Uwagi varchar(35),
    Problem bit ,
    Wizyty int
);

create table Wizyta
(
    Id int identity(1,1) Primary Key,
    Data date not null,
    IdClient int not null,
    Opis varchar(30),
    DataZapisu date default(getdate()),

    constraint fk_perWizyta 
       foreign key (IdClient) references Client(Id) on delete cascade
);

我创建了一个视图:

create view Tranzakcje as  
(
    Select 
        Data, (Name+ ' ' + LastName) As Client,  
        Opis, DataZapisu  
    from 
        Wizyta w  
    inner join 
        Klient k on k.Id = w.IdKlient
)

它适用于我的查询,但是当我从我的移动应用程序执行视图时,我收到错误:

  

SQLException列名称ID无效。

如何解决它或如何使用列Data Client (Name + LastName) Opis, DataZapisu创建视图。

1 个答案:

答案 0 :(得分:0)

您的观点实际上并未包含Id coloumn。如果需要,您必须选择要使用的Id 而且正如rhholt评论的那样:你似乎在你的Client / Klient表之间切换K和C(同样适用于字段IdClient / IdKlient)......