gpt4 book ai didi

sql - 使用另一个表中的数据创建计算列

转载 作者:行者123 更新时间:2023-12-02 10:34:03 25 4
gpt4 key购买 nike

我有一个 SQL Server 2008 R2 数据库。该数据库有两个表,名为 Pictures 和 PictureUse。

图片表有以下列:

Id (int)   
PictureName (nvarchar(max))
CreateDate (datetime )

PictureUse 表具有以下列:

Id (int) 
Pictureid (int)
CreateDate (datetime )

我需要在Picture表中创建一个计算列,它告诉我这张图片被点击了多少次。有帮助吗?

最佳答案

您可以为此创建一个用户定义的函数:

CREATE FUNCTION dbo.CountUses(@pictureId INT)
RETURNS INT
AS
BEGIN
RETURN
(SELECT Count(id)
FROM PictureUse
WHERE PictureId = @PictureId)
END

然后可以像这样添加计算列:

ALTER TABLE dbo.Picture
ADD NofUses AS dbo.CountUses(Id)

但是,我宁愿对此提出看法:

CREATE VIEW PictureView
AS
SELECT Picture.Id,
PictureName,
Picture.CreateDate,
Count(PictureUse.Id) NofUses
FROM Picture
JOIN PictureUse
ON Picture.Id = PictureUse.PictureId
GROUP BY Picture.Id,
PictureName,
Picture.CreateDate

关于sql - 使用另一个表中的数据创建计算列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13488822/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com