Hallöchen,
leider habe ich massive Probleme mit einer MSSQL-Abfrage.
Ich habe beispielsweise diese Werte
![1685540646062.png 1685540646062.png](https://www.datenbankforum.com/data/attachments/2/2166-79c00ade72c182df9d9224d8b9135192.jpg?hash=ecAK3nLBgt)
diese Tabelle heist "#rights_table"
Will nun anhand der variablen (zur Erklärung: ist ein Token welches dann mehrere Variablen mit unterschiedlichen Inhalt haben kann) und deren Inhalt filtern.
![1685540694414.png 1685540694414.png](https://www.datenbankforum.com/data/attachments/2/2167-02984cf139b8f3682d3d6387ccb50e12.jpg?hash=AphM8Tm482)
u = und, o = oder
bisher habe ich soetwas in der art herausgefunden, dies Funktioniert ist aber schwierig Programmiertechnisch umzusetzen auf unterschiedliche Filterkriterien da ich für jede "und verknüpfung" ein weiteres Innerjoin benötige und diese Abfragen sehr Tief werden können.
SELECT distinct a.tokenid FROM (
(
SELECT * FROM #rights_table
WHERE
(
variable = 'Abteilung' AND data = 'GL' OR
variable = 'Abteilung' AND data = 'Lager'
)
) a
inner JOIN
(
SELECT * FROM #rights_table
where
(
(variable = 'Vertraulichkeit' AND data = 'Vertraulich') OR
(variable = 'Vertraulichkeit' AND data = 'offen') OR
(
(variable = 'Schutzgrad' AND data = '1') OR
(variable = 'Schutzgrad' AND data = '2')
)
)
) b
ON a.tokenid =b.tokenid
)
Gibt es eine Möglichkeit diese Zeilen mit "variable" und "data" irgendwie in eine einzige Zeile zu schreiben sodass ich einfach Filtern kann?
Ich brauche unbedingt Hilfe, vielen Dank!
Liebe Grüße
Flo
leider habe ich massive Probleme mit einer MSSQL-Abfrage.
Ich habe beispielsweise diese Werte
![1685540646062.png 1685540646062.png](https://www.datenbankforum.com/data/attachments/2/2166-79c00ade72c182df9d9224d8b9135192.jpg?hash=ecAK3nLBgt)
diese Tabelle heist "#rights_table"
Will nun anhand der variablen (zur Erklärung: ist ein Token welches dann mehrere Variablen mit unterschiedlichen Inhalt haben kann) und deren Inhalt filtern.
![1685540694414.png 1685540694414.png](https://www.datenbankforum.com/data/attachments/2/2167-02984cf139b8f3682d3d6387ccb50e12.jpg?hash=AphM8Tm482)
u = und, o = oder
bisher habe ich soetwas in der art herausgefunden, dies Funktioniert ist aber schwierig Programmiertechnisch umzusetzen auf unterschiedliche Filterkriterien da ich für jede "und verknüpfung" ein weiteres Innerjoin benötige und diese Abfragen sehr Tief werden können.
SELECT distinct a.tokenid FROM (
(
SELECT * FROM #rights_table
WHERE
(
variable = 'Abteilung' AND data = 'GL' OR
variable = 'Abteilung' AND data = 'Lager'
)
) a
inner JOIN
(
SELECT * FROM #rights_table
where
(
(variable = 'Vertraulichkeit' AND data = 'Vertraulich') OR
(variable = 'Vertraulichkeit' AND data = 'offen') OR
(
(variable = 'Schutzgrad' AND data = '1') OR
(variable = 'Schutzgrad' AND data = '2')
)
)
) b
ON a.tokenid =b.tokenid
)
Gibt es eine Möglichkeit diese Zeilen mit "variable" und "data" irgendwie in eine einzige Zeile zu schreiben sodass ich einfach Filtern kann?
Ich brauche unbedingt Hilfe, vielen Dank!
Liebe Grüße
Flo