Du kannst dazu eine temporäre Tabelle als Variable erstellen und die Daten darin zwischenspeichern.
-- Deklaration der Tabellenvariablen
DECLARE @TableVar TABLE (fld_id INT);
-- Einfügen der Ergebnisse in die Tabellenvariablen
INSERT INTO @TableVar (fld_id)
SELECT fld_id
FROM dbo.aud_folder
WHERE fld_shr_id = (SELECT shr_id FROM dbo.aud_share WHERE shr_name = 'GBI' AND shr_imp_id = 241);
-- Verwendung der Tabellenvariablen in einer weiteren Abfrage
SELECT *
FROM dbo.aud_folder_right
WHERE fri_fld_id IN (SELECT fld_id FROM @TableVar);
Oder ohne Variable
-- Erstellung einer temporären Tabelle
CREATE TABLE #TempTable (fld_id INT);
-- Einfügen der Ergebnisse in die temporäre Tabelle
INSERT INTO #TempTable (fld_id)
SELECT fld_id
FROM dbo.aud_folder
WHERE fld_shr_id = (SELECT shr_id FROM dbo.aud_share WHERE shr_name = 'GBI' AND shr_imp_id = 241);
-- Verwendung der temporären Tabelle in einer weiteren Abfrage
SELECT * FROM dbo.aud_folder WHERE fld_id IN (SELECT * FROM #TempTable);
-- Löschen der temporären Tabelle (optional, da sie nach der Sitzung automatisch gelöscht wird)
DROP TABLE #TempTable;