2011-10-11 86 views
2

我有一個表A,它包含10行和3列。其中一列是name,這些是表名。如何在另一個select語句中使用查詢的結果?

我寫了一個查詢

select name from A 

現在iIwant在其他查詢中使用的所有10名的值(如表名)。我如何在Sybase中執行此操作?

+0

實際上,原始表(A)包含滿足任何特定條件的數據庫表的名稱(比如說它們是用戶表或管理表)。我想要使​​用這些表的名稱一個接一個地說(在任何更新或刪除查詢中說) – Aditya

+0

是的..基本上我需要知道每個表的名稱滿足一些標準,然後需要逐一使用這些名稱其他查詢。我的疑問是,我將如何收集任何變量中的表名稱?sybase中的任何變量都只存儲select結果的最後一個值。 – Aditya

+0

@Aditya不要在SQL中想'一個一個'。考慮套。你現在有一個名字 - 你可以根據他們的操作進行設置,包括連接,選擇,在哪裏,存在等。 –

回答

2

你可以使用一個結果集爲JOIN

SELECT [B].* 
FROM [B] 
    INNER JOIN (SELECT [Name] FROM [A]) aliasA 
    ON [B].[Name] = aliasA.[Name] 

,或者你可以使用一個WHERE

SELECT [B].* 
FROM [B] 
WHERE [B].[Name] IN 
    (SELECT [Name] FROM [A]) 

結果集,您還可以使用它的各種其他方式。在大多數情況下,您可以將結果集視爲表格 - 從中​​選擇,加入它等。

+0

我感覺OP希望將這些名稱用作表名,而不是簡單地連接到派生表。在result_set中有更多的foreach名字;從名字中選擇*;完成了某種事情。 –

+0

雅@ muistooshort ..我想要做的完全一樣的東西,你引用..是方法「的foreach名稱在result_set;做select *從名稱;完成」在sybase中工作?並且還會在上面提到的result_set for循環是一個查詢? – Aditya

+0

@kirk布羅德赫斯特:你能幫上面嗎? – Aditya

相關問題