MsSQL Dynamisch Tabellen abfragen

Termos

Mitglied
Hallo Community,

ich hab hier ein knackiges Problem und bin mir unsicher ob es auf meinem Weg überhaupt einen möglichen Lösungsansatz gibt.
Es geht um das Folgende Problem, ich habe eine Tabelle Role - in dieser steht Responsible (eine Person) und Object (das Objekt für die die Person verantwortlich ist).

Nun steht jedes Objekt in einer anderen Tabelle. Welche Tabellen das sind bekomme ich durch das Folgende Statement heraus.

SQL:
select ac.CLASSNAME
FROM ALFACLASS ac
WHERE CLASSID IN (SELECT DISTINCT SUBSTRING(OBJECT,1,3) FROM ROLE WHERE RESPONSIBLE = '261-1950-0'))

Das Where wird eine Variable - somit ist die Person dynamisch. Wie kann ich aber nun die entsprechenden Tabellen Abfragen?

Ziel ist es eine Person einzugeben und die Namen aus allen Object Tabellen zu bekommen. Bsp: 261-1950-0 hat die Objekte 123 und 234.

123 ist die Tabelle Holz, 234 die Tabelle Metall. in den Tabellen finde ich die Objekte über den vollen Schlüssel (123-1-0 = erstes Objekt).


Ich benötige also etwas wie:

SQL:
SELECT
Name
FROM
(Liste der Tabellen)
WHERE
ID IN 'Liste meiner Objekte'

Ich hoffe ich konnte mich halbwegs verständlich ausdrücken. Danke und viele Grüße
 
UNION
SQL:
select
    id,
    wert,
    'tabelle1' as source
from tablle1
where id IN 'Liste meiner Objekte'
union all select
    id,
    wert,
    'tabelle2' as source
from tablle2
where id IN 'Liste meiner Objekte'
union all select
    id,
    wert,
    'tabelle3' as source
from tablle3
where id IN 'Liste meiner Objekte'
 
Zurück