是否可以在视图中添加列(PK)。如果可以,我们该如何做?
这是我的观点。
CREATE VIEW [dbo].[SalesDetailView]
SELECT
DATENAME(yyyy, SH.CreatedDateTime) AS Year,
DATENAME(mm, SH.CreatedDateTime) AS Month, SH.CreatedDateTime AS Date,
SH.TransactionName AS Type, SH.SalesHeaderID AS No,
Customer.CustomerName AS Customer,
CustomerGroup.CustomerGroupName AS Customer_Group, SH.Reference AS Memo,
Item.ItemName AS Item, SD.LineDescription AS Item_Description,
Item.ItemType AS Item_Type, Item.UOM,
ItemGroup.ItemGroupName AS Item_Group,
CAST (SD.Quantity AS INT) AS Quantity, CAST(SD.Amount AS MONEY) AS Amount,
SD.Price, SD.Discount, SH.ExchangeRate AS Exchange_Rate,
Currency.CurrencyDescription AS Currency, SD.ClassID AS Class_ID,
SD.SalesTaxID AS SalesTax_ID, SalesTaxGroup.SalesTaxGroupName AS Tax_Group,
Employee.EmployeeName AS Salesperson,
ShippingMethod.ShippingMethodName AS Shipping_Method,
PaymentTerm.PaymentTermName AS Payment_Term,
PaymentMethod.PaymentMethodName AS Payment_Method
SalesHeader SH, Customer
LEFT OUTER JOIN
SalesDetail SD ON SH.SalesHeaderID = SD.SalesHeaderID
LEFT OUTER JOIN
Item ON SD.ItemID = Item.ItemID
LEFT OUTER JOIN
ItemGroup ON Item.ItemGroupId = ItemGroup.ItemGroupID
LEFT OUTER JOIN
CustomerGroup ON Customer.CustomerGroupId = CustomerGroup.CustomerGroupID
LEFT OUTER JOIN
Employee ON Customer.EmployeeID = Employee.EmployeeID
LEFT OUTER JOIN
Currency ON Customer.CurrencyID = Currency.CurrencyID
LEFT OUTER JOIN
SalesTaxGroup ON Customer.SalesTaxGroupID = SalesTaxGroup.SalesTaxGroupID
LEFT OUTER JOIN
PaymentTerm ON Customer.PaymentTermID = PaymentTerm.PaymentTermID
LEFT OUTER JOIN
ShippingMethod ON Customer.ShippingMethodID = ShippingMethod.ShippingMethodID
LEFT OUTER JOIN
PaymentMethod ON Customer.PaymentMethodID = PaymentMethod.PaymentMethodID
WHERE
SH.CustomerID = Customer.CustomerID
AND SH.TransactionName <> 'SalesOrder'
AND Sh.TransactionName <> 'Quote'
你可以用
添加一个唯一列,比如。
row_number
CREATE VIEW [dbo].[SalesDetailView] SELECT row_number() over (order by SH.CreatedDateTime) as PK, DATENAME(yyyy, SH.CreatedDateTime) AS Year,
如果这不是你的意思,请澄清你的问题。 一些例子的结果总是有帮助的。