El almacenamiento de múltiples identificaciones de empleados en una columna de datos

StackOverflow https://stackoverflow.com/questions/756370

  •  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!

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top