Sql 基于两个不同表中的值计算的字段

Sql 基于两个不同表中的值计算的字段,sql,Sql,我有两个不同的表,称为BB.BOATBKG和BK_BOOKING,其中BB_BOATBKG.BK.KEY=BK_BOOKING.Z_ID 我需要在BB.BOATBKG中创建一个计算字段,其中的计算(预订提前期天数)基本上是 BB_BOATBKG.ORIG.DATE.EXT - BK.BOOKING.BOOK.DATE.EXT 为此,我创建了一个名为GetBookingLeadTimeDays的函数 CREATE FUNCTION [dbo].[Getbookingleadtimedays]

我有两个不同的表,称为BB.BOATBKG和BK_BOOKING,其中BB_BOATBKG.BK.KEY=BK_BOOKING.Z_ID

我需要在BB.BOATBKG中创建一个计算字段,其中的计算(预订提前期天数)基本上是

BB_BOATBKG.ORIG.DATE.EXT  - BK.BOOKING.BOOK.DATE.EXT
为此,我创建了一个名为GetBookingLeadTimeDays的函数

CREATE FUNCTION [dbo].[Getbookingleadtimedays] (@ORIGDATE DATE, @BOOKDATE DATE)  
RETURNS INT   
AS  BEGIN  
RETURN ( DATEDIFF(day, @ORIGDATE, @BOOKDATE)  )  
END. 
创建函数后,我在BB_BOATBKG中创建了一个计算字段

ALTER TABLE  dbo.BB_BOATBKG ADD Calc_booking_lead_time_days  AS dbo.Getbookingleadtimedays ([ORIG_DATE_EXT],[dbo.BK_BOOKING.BOOK_DATE_EXT] )
但它不起作用,出现错误消息无效列名“dbo.BK\u BOOKING.BOOK\u DATE\u EXT”


任何人都可以帮忙,因为我觉得很难根据两个不同表中的值创建计算字段。

您只需使用
连接即可

你可以根据他们的关系加入他们吗

然后,您可以根据两个相关表中的组合选择您喜欢的任何计算


根据您的模式,我可以提供更多细节

添加您的模式以获得更好的结果。。!如何从
BK\u BOOKING
中知道用于获取
BOOK\u DATE\u EXT
值的行?不只是考虑当前的情况,而是可以在任意两个表之间存在多个外键。不能作为计算列执行此操作。也许考虑一个视图?那么我应该在函数中使用一个连接吗?我创建了如下所示的函数,这两个表是什么关系?那么我应该在函数中使用连接吗?我在上面的表中创建了如下函数创建函数[dbo]。[Getbookingleadtimedays](@ORIGDATE DATE,@BOOKDATE DATE)BK.BOOKING是主预订表,BB.BOATBKG保存腿部细节(BK_BOOKING中的一个预订在BB_BOATBKG中可能有不同的腿部),