2014-07-03 57 views
-2

我試圖填充作爲存儲過程的第一個表返回的表參數。tsql查詢結果在自定義字符串列中出現在同一列

我希望這個表在'Parameters'列中包含'Parameter1','Parameter2','Parameter3'。所有的數據都不是來自任何數據庫表,它只是存儲過程中的硬編碼字符串。

我想知道如何做到這一點與選擇查詢。我設法在幾個專欄上做到這一點,但它會在同一個專欄中更方便。

編輯澄清一點(對不起,我的英語水平,因爲它顯然是問題):

這裏就是我想我的SP看起來像

CREATE PROCEDURE [dbo].[MYSP] 
(
@TopCount INT = 10 
) 
AS 
BEGIN 
    SELECT 'Users data' 'Orders data' AS 'TableNames' 

    SELECT Top (@TopCount) User.Id AS 'User Id', User.EmailAddress AS 'User email address' FROM User 

    SELECT Top (@TopCount) Order.Id AS 'Order Id', Order.Number AS 'Order reference' FROM Order 
END 

的第一選擇是錯誤的,當然因爲這就是我來這裏的原因。

SELECT 'Users data' 'Orders data' AS 'TableNames' 

只是試圖把字符串放在結果列中。

預期的輸出結果表,一列含兩行命名爲TableNames

TableNames 
----------- 
Users data 
Orders data 

與我的用戶的數據和我的命令數據其他兩個表的源流。

+1

請說明您的具體問題或添加額外的細節,突顯正是你需要的。正如目前所寫,很難確切地說出你在問什麼。 – Kermit

+0

您還可以提供一些代碼示例和預期的輸入/輸出,以使問題更加清晰。 – Josien

+4

我覺得我說話的時候會說這個小組。什麼? – Zane

回答

3

您可以使用一系列FROM-少選擇與UNION ALL組合:只在第一個SELECT需要

SELECT 'Users data' AS TableNames 
UNION ALL 
SELECT 'Orders data'; 

別名。

如果您使用的是SQL Server 2008或更高版本,存在於一個選擇 - 在VALUES row constructor

SELECT * 
FROM (
    VALUES 
    ('Users data'), 
    ('Orders data') 
) AS v (TableNames); 
+0

完美。非常感謝你的幫助。 –

相關問題