WilderStorch
Neuer Benutzer
- Beiträge
- 3
Hallo, ich habe ein Problem, welches ich per SQL-Befehl lösen muss.
Mein Datenbankschema sieht folgendermaßen aus:
Ich habe eine SQL-Befehl welcher alle Einträge der Tabelle "TABLE_A" ausgibt. Hier muss ich jetzt pro Eintrag der Tabelle ermitteln, ob es Einträge in der Tabelle "TABLE_B" gibt, welche sich vom Zeitraum überschneiden.
Ich schaffe es nur alle Einträge der Tabelle "TABLE_B" zu Zählen, die mit dem jeweiligen Datensatz der Tabelle "TABLE_A" verknüpft sind:
Ist das so überhaupt möglich? Mein Problem ist, dass meine Voraussetzung sind, dass ich das ganze in einem SQL-Befehl abfragen muss.
Mein Datenbankschema sieht folgendermaßen aus:
Code:
CREATE TABLE TABLE_A
(
ID INT NOT NULL IDENTITY(1,1) PRIMARY KEY
)
CREATE TABLE TABLE_B
(
ID INT NOT NULL IDENTITY(1,1) PRIMARY KEY,
TABLE_A_ID INT NOT NULL FOREIGN KEY REFERENCES TABLE_A(ID),
BEGINN DATETIME NOT NULL,
ENDE DATETIME NOT NULL
)
Ich habe eine SQL-Befehl welcher alle Einträge der Tabelle "TABLE_A" ausgibt. Hier muss ich jetzt pro Eintrag der Tabelle ermitteln, ob es Einträge in der Tabelle "TABLE_B" gibt, welche sich vom Zeitraum überschneiden.
Ich schaffe es nur alle Einträge der Tabelle "TABLE_B" zu Zählen, die mit dem jeweiligen Datensatz der Tabelle "TABLE_A" verknüpft sind:
Code:
SELECT
TABLE_A.ID,
(SELECT COUNT(TABLE_B.ID) FROM TABLE_B WHERE TABLE_B.TABLE_A_ID = TABLE_A.ID) AS ANZAHL_EINTRAEGE,
FROM
TABLE_A;
Ist das so überhaupt möglich? Mein Problem ist, dass meine Voraussetzung sind, dass ich das ganze in einem SQL-Befehl abfragen muss.