hol*_*ard 1 sql sql-server sql-server-2008
我正在开发一个包含客户,文章,发票等的数据库.在MSSQL Server Management Studio中,我创建了一个View来显示发票和inooice行中的销售情况.
发票表中的两列是销售税和折扣,两者都是小数(例如,0,25而不是25%),但在视图中我想将其显示为百分比.问题是我无法弄清楚如何做到这一点,那么有什么样的灵魂可以帮助我吗?
提前致谢.
SELECT TOP (100) PERCENT dbo.Article.AricleID, dbo.Article.Artname,
dbo.Invoiceline.Quantity, dbo.Invoiceline.Price, dbo.Invoiceline.Discount,
dbo.Salestax.Salestax
FROM dbo.Article
INNER JOIN dbo.Invoiceline ON dbo.Article.AricleID = dbo.Invoiceline.ArticleID
INNER JOIN dbo.Invoice ON dbo.Invoiceline.InvoiceID = dbo.Invoice.InvoiceID
INNER JOIN dbo.Salestax ON dbo.Invoiceline.SalestaxID = dbo.Salestax.SalestaxID
ORDER BY dbo.Invoice.Date
Run Code Online (Sandbox Code Playgroud)
首先,从视图定义中删除TOP (100) PERCENT和ORDER BY.除非您使用特定的跟踪标志来恢复SQL Server 2000功能,否则它们不保证任何订单 - 如果您仍在使用该跟踪标志,则不应该这样.如果您希望此视图中的查询结果按特定顺序返回,则添加ORDER BY到这些查询.
CREATE VIEW dbo.MyView
AS
SELECT
a.AricleID, a.Artname, il.Quantity, il.Price,
Discount = CONVERT(VARCHAR(10), 100*il.Discount) + '%',
Salestax = CONVERT(VARCHAR(10), 100*s.Salestax) + '%'
FROM
dbo.Article AS a
INNER JOIN dbo.Invoiceline AS il
ON il.AricleID = il.ArticleID
INNER JOIN dbo.Invoice AS i
ON il.InvoiceID = i.InvoiceID
INNER JOIN dbo.Salestax AS s
ON il.SalestaxID = s.SalestaxID;
Run Code Online (Sandbox Code Playgroud)
其他几条评论:
| 归档时间: |
|
| 查看次数: |
16987 次 |
| 最近记录: |