我的供应商通过一段SQL代码发送了一段SQL代码,我有一段时间可以使用我的现有查询。与计算语句合并的SQL select查询
我有一个查询数据库表中多个值的网页下面的代码我在ASP页面,查询SQL:
SELECT [Account],
[AccountName],
[ComputerName],
[EMail],
[Telephone],
[Status],
cast(cast([StartDate] as float) as datetime) as 'Start-Date',
cast(cast([LastBackupDate] as float) as datetime) as 'LastBackup-Date',
[TotalFileSize],
[TotalFileCount]
FROM ExpandedView WHERE loginid = @0
这个查询的伟大工程,但“帐户”字段上面指定显然只返回实际帐号的一部分。显然,我的供应商使用的计算创建最终的账号,他们已经把它交给我:
use <databasenamehere>
select left(
convert(nvarchar,E.Account)
,5)+'-'+convert(nvarchar,
(50 +((E.Account)%10)
-((E.Account/10)%10)
+((E.Account/100)%10)
-((E.Account/1000)%10)
+((E.Account/10000)%10)
-((E.Account/100000)%10)
+((E.Account/1000000)%10)
-((E.Account/10000000)%10)
+((E.Account/100000000)%10))
%10)
+right(convert(nvarchar,E.Account),4)
as 'Account', AccountName from ExpandView E
Inner Join Customer C
on E.Account=C.Account
现在我认识到,这种查询是选择第5个号码的账号,追加的连字符和然后对最后4个数字执行一个数学过程,但我无法弄清楚如何阅读这个。我能否简单地将这两个陈述与“AND”子句一起附加?
我真的很想了解“E.Account”是指什么,以及为什么他们在查询中使用“ExpandView E”和“Customer C”。我也失去了那些与实际桌子相关的东西。
任何援助将不胜感激。或者,如果你愿意,发布一个链接,我会尽我所能地阅读。
谢谢!
这看起来不像SQL。这是什么,一些微软的扩展? – wildplasser
它看起来像SQL,而不是MSSQL。 :D – jachguate