Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Campo composto de uma tabela.

Estou criando uma pequena aplicação e nela necessito de um dado chamado Rating(Avaliação) que não deve ser atualizado em um produto e sim em uma outra tabela, mais ou menos neste estilo:

create table Sales.Products(
    Id int identity,
    Name nvarchar(200) not null,
    Price decimal(18, 2) not null,
    InStock int not null default 0,
    CreationDate datetime not null default getdate(),
    Notes text null,
    OnSale bit default 0,
    Active bit default 1,
);

create table Sales.Rating(
    Id int identity,
    Product int foreign key references Sales.Products(Id),
    Rate int not null check(Rate >=0 and Rate <=5),
    Notes text null
);

Quando for fazer a query gostaria de fazer assim:

select Name, Price, Rating from Sales.Products;

E nisto ele fosse na tabela Ratting e fizesse a média de avaliações do produto, tem como fazer assim? Ou necessito criar uma procedure para isso?

1 resposta
solução!

Oi Márcio, vc pode fazer essa query usando o grouping by

ficaria assim mais ou menos:

select Name, Price, avg(Rating) from Sales.Products p join Sales.Rating r on p.id = p.Product group by p.id