El almacenamiento de múltiples identificaciones de empleados en una columna de datos
-
09-09-2019 - |
Pregunta
aplicación Web está siendo escrito en ASP clásico con un backend MSSQL. En esta página en particular, el administrador puede seleccionar 1 o cualquier / todos los empleados para asignar el proyecto a. Estoy tratando de encontrar una manera sencilla para almacenar los identificadores de los empleados de las personas asignadas a la misma en una columna.
La lista de los empleados se genera a partir de otra mesa y puede ser dinámica (de tiro o contratación) por lo que quiero que el programa sea lo suficientemente flexible como para cambiar la base de estos cambios de la tabla.
Básicamente necesita saber cómo asignar a varias personas para un proyecto que más tarde puede ser llamado a filas en una página diferen o de una consulta diferente.
Lo siento por la pregunta n00bish, pero gracias!
Solución
Es necesario crear otra tabla que almacena estos valores como. Por lo que esta nueva tabla almacenaría una fila para cada ID, y luego volver a vincular el registro original con el ID registros originales.
Otros consejos
No almacene múltiples identificaciones en una columna! Crear otra tabla con la clave primaria de la tabla existente y un único ID que desea almacenar. A continuación, puede insertar varias filas en esta nueva tabla, creando un 1: m (uno a muchos) relación. Por ejemplo, vamos a ver una tabla de orden:
order:
order_id
order_date
y tengo una tabla de productos ...
product:
product_id
product_name
Ahora, usted podría ir por el camino de la adición de una columna para ordenar que le permiten mostrar listas de los productos en el orden, pero eso sería una mala forma. Lo que quiere en cambio, es algo así como ..
order_item:
order_item_id
order_id
product_id
quantity
unit_price
A continuación, puede realizar una unión de obtener todos los productos para una orden en particular ...
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
Este es un ejemplo order_id de 5, y esto va a obtener todos los productos en ese orden.