Ich habe eine Tabelle Authors
in SQL Server mit Author_ID
als Primärschlüssel.Umgang mit mehrwertigen Fremdschlüssel in SQL Server
Authors
Tabellenstruktur
Author_ID | Author_Name
----------------------------
677 | Nuno Vasconcelos
1359 | Peng Shi
6242 | Z. Q. Shi
... | ...
... | ...
Ich habe eine andere Tabelle mit CoAuthors
CoAuthor_ID
als Primärschlüssel und mit Author_ID
als Fremdschlüssel.
CoAuthors
Tabellenstruktur
CoAuthor_ID | CoAuthor_Name | Author_ID
---------------------------------------
47 | Jim Bezdek | NULL
111 | Vishal Gupta | NULL
318 | Muaz A. Niazi | NULL
... | ... | ...
... | ... | ...
Ich habe eine andere Autor-Koautor Zuordnungstabelle Yearly_Author_CoAuthors
als:
Author_ID | CoAuthor_ID | Year
------------------------------
677 | 901706 | 2005
677 | 838459 | 2007
677 | 901706 | 2007
... | ... | ...
... | ... | ...
Jetzt muss ich aus Authors
Tisch zu bekommen Fremdschlüssel in CoAuthors
Tabelle einfügen. Das Problem ist, ich mehrere Werte von Author_ID
für CoAuthor_ID
wie zum Beispiel die Ausführung dieser Abfrage haben:
SELECT
Author_ID, CoAuthor_ID, Year
FROM
Yearly_Author_CoAuthors
WHERE
CoAuthor = 901706
ORDER BY
Author_ID, Year, CoAuthor_ID
Und ich habe diese Ausgabe:
Author_ID | CoAuthor_ID | Year
------------------------------
677 | 901706 | 2005
677 | 901706 | 2007
677 | 901706 | 2009
1683703 | 901706 | 2012
, die zeigt, dass CoAuthor_ID = 901706
ist mit zwei DISTINCT Author_ID
, so hier:
Wie kann ich Author_ID
als Fremdschlüssel Einschränkung in CoAuthors
Tabelle einfügen?
Haben Sie Google einen Fremdschlüssel hinzufügen? Was genau ist das Problem, auf das Sie stoßen? – dfundako
Wenn ich es richtig verstanden habe, haben Sie die Brückentabelle hinzugefügt, die Autor CoAuthor zuordnet, um zu speichern, an welchen Daten zwei Personen an einem Buch oder etwas zusammen gearbeitet haben? Wenn ja, benötigen Sie die Eins-zu-viele-Beziehung zwischen CoAuthor und Author? – MLT
Sie können das nicht haben, weil Ihr Entwurf es nicht erlaubt. –