0

我有一个在线程序,它根据他们的 ID 号(pKey)保存记录。我必须向外部源提供一个文件,他们希望数据集的最后一列在其中引用在线程序中的每个单独的记录 url。如何编写视图以将每行的 ID 号放入 url?

整个 url = Example\webprorgam\List\item='IDnumber'

例如:Row1IDnumber....数据....Url+'Row1IDnumber'

我想我可以用 CASE 语句来做到这一点,但我不确定如何让“THEN”部分引用 CASE 中的 ID 号

我需要在 SQL Server 中执行此操作;有什么想法吗?

4

2 回答 2

1
select
    IDNumber,
    otherFields,
    concat('http://yourcompany.com/Example/webprogram/List/item=', IDNumber) as url
from
    yourTable
于 2013-11-01T15:36:39.623 回答
1

就个人而言,我会创建一个表值函数作为视图上的另一层。这允许将 URL 的基本部分保存在您的程序中的某个位置,而不是硬编码在您的 SQL 中。

例子:

CREATE FUNCTION dbo.myTableFunction(
  @pURLBase AS VarChar(MAX)
) RETURNS TABLE AS
RETURN
  SELECT *, @pURLBase + Cast(Row1IDNumber AS VarChar) AS WholeURL FROM myView;

然后你可以像这样使用函数:

SELECT *
FROM dbo.myTableFunction('Example\webprorgam\List\item=');
于 2013-11-01T15:42:50.113 回答