Speicher mehrere Mitarbeiter-IDs in einer Spalte von Daten
-
09-09-2019 - |
Frage
Web App wird im klassischen ASP mit einem MSSQL-Backend geschrieben. Auf dieser speziellen Seite kann der Administrator wählen Sie 1 oder eine beliebige / alle Mitarbeiter des Projekts zuzuordnen. Ich versuche, eine einfache Möglichkeit, um herauszufinden, den Mitarbeiter-IDs der Menschen, um es in einer Spalte zugeordnet zu speichern.
Die Liste der Mitarbeiter wird aus einer anderen Tabelle erzeugt und kann dynamisch (Brennen oder Einstellung) sein, so will ich das Programm flexibel genug sein, auf der Grundlage dieser Tabelle ändert sich ändern.
müssen Grundsätzlich wissen, wie mehrere Personen zu einem Projekt zuweisen, die später auf einer differen Seite nach oben oder von einer anderen Abfrage aufgerufen werden können.
Sorry für die n00bish Frage, aber dank!
Lösung
Sie müssen eine andere Tabelle erstellen, die diese Werte wie speichert. Also diese neue Tabelle speichern würde eine Zeile für jede ID, und dann mit der ursprünglichen Aufzeichnungen ID auf den ursprünglichen Datensatz Link zurück.
Andere Tipps
Speichern Sie nicht mehrere IDs in einer Spalte! Erstellen Sie eine andere Tabelle mit dem Primärschlüssel der vorhandenen Tabelle und eine einzige ID, die Sie speichern möchten. Anschließend können Sie mehrere Zeilen in die neue Tabelle einfügen, ein 1 zu erstellen: m (one to many) Beziehung. Zum Beispiel, lassen Sie sich bei einer Bestellung Tabelle aussehen:
order:
order_id
order_date
und ich habe eine Produkttabelle ...
product:
product_id
product_name
Nun könnte man die Straße hinuntergehen eine Spalte hinzu, dass auf Bestellung können Sie die Produkte in der Reihenfolge auflisten, aber das wäre schlechte Form sein. Was Sie wollen, stattdessen ist so etwas wie ..
order_item:
order_item_id
order_id
product_id
quantity
unit_price
Sie können dann ausführen Join alle Produkte für einen bestimmten Auftrag zu erhalten ...
select
product.*
from orders
inner join order_item on order_item.order_id = order.order_id
inner join product on product.product_id = order_item.product_id
where orders.order_id = 5
Hier ist ein Beispiel order_id von 5, und dies wird alle Produkte in dieser Reihenfolge erhalten.