amstyles
Goto Top

Index von 2 Tabellen erstellen

Ich habe 2 Tabellen in einer Datenbank, und möchte aus 2 Spalten, zweier unterschiedlicher Tabellen auf eine Tabelle ein Index erstellen.

z.B.

Tabelle1 hat die Spalten -> USERNAME, PSW
Tabelle 2 hat die Spalten ->PROJECT, DATUM

Ich möchte nun in der Tabelle 2 ein Index erstellen, aus der Tabelle1 die Spalte USERNAME und aus der Tabelle 2 die Spalte PROJECT.

CREATE UNIQUE INDEX Tabelle1_IDX ON
(Tabelle1(USERNAME)]Tabelle2 (PROJECT)]);

so funktioniert es leider nicht.

LG AMStyles

Content-ID: 175014

Url: https://administrator.de/contentid/175014

Ausgedruckt am: 22.11.2024 um 15:11 Uhr

dog
dog 20.10.2011 um 15:54:50 Uhr
Goto Top
so funktioniert es leider nicht.

Und wird es auch nie.
Du kannst keinen Index über Tabellengrenzen hinweg erstellen.
Das macht auch absolut keinen Sinn.

Genauso wie deine Datenstruktur keinen Sinn ergibt.
AndreasHoster
AndreasHoster 20.10.2011 um 15:55:29 Uhr
Goto Top
Wenn wir davon ausgehen, daß Du einen MSSQL Server hast (wird ja nicht verraten), dann geht das so nicht.
Die Hilfe sagt eindeutig:
CREATE INDEX
Erstellt einen Index für eine gegebene Tabelle oder Sicht.

Man beachte: EINE gegebene Tabelle oder Sicht.

Damit ergibt sich automatisch die Lösung:
Mach eine Sicht über beide Tabellen und dort dann den Index (dann sollten Deine Abfragen aber auch die Sicht verwenden).
AMStyles
AMStyles 20.10.2011 um 15:59:25 Uhr
Goto Top
Ja es handelt sich um MSSQL.

Ok, Vielen Dank! face-smile
die Datenstruktur war nur ein Beispiel.
nxclass
nxclass 20.10.2011 um 16:03:15 Uhr
Goto Top
...statt einem View würde ich eher eine 3. Tabelle mit den Werten USERNAME und PROJECT vorschlagen, welche die beiden anderen Tabellen verbindet.
Dann hast du eine Zuweisung und kannst auch gleich den UNIQUE Index setzen den Du willst. In den anderen beiden Tabellen ist dann USERNAME und PROJECT jeweils der PRIMARY KEY.
AMStyles
AMStyles 20.10.2011 um 16:15:38 Uhr
Goto Top
eine 3te Tabelle in dem Sinne wäre ja eine View ?!