문제

웹 앱은 MSSQL 백엔드와 함께 클래식 ASP로 작성되었습니다. 이 특정 페이지에서 관리자는 프로젝트를 할당 할 직원 1 명 또는 모든 직원을 선택할 수 있습니다. 한 열에 할당 된 사람들의 직원 ID를 저장하는 간단한 방법을 찾으려고 노력하고 있습니다.

직원 목록은 다른 테이블에서 생성되며 동적 (발사 또는 채용) 일 수 있으므로이 테이블 변경에 따라 프로그램이 변경 될 수있을 정도로 유연하게 변경되기를 원합니다.

기본적으로 여러 사람을 다른 페이지 나 다른 쿼리에서 호출 할 수있는 프로젝트에 여러 사람을 할당하는 방법을 알아야합니다.

N00bish 질문에 대해 죄송하지만 감사합니다!

도움이 되었습니까?

해결책

다음과 같은 값을 저장하는 다른 테이블을 만들어야합니다. 따라서이 새 테이블은 각 ID에 대해 하나의 행을 저장 한 다음 원본 레코드 ID와 함께 원본 레코드에 다시 연결됩니다.

다른 팁

여러 ID를 한 열에 저장하지 마십시오! 기존 테이블의 기본 키와 저장하려는 단일 ID로 다른 테이블을 만듭니다. 그런 다음이 새 테이블에 여러 행을 삽입하여 1 : m (1 ~ 많은) 관계를 만들 수 있습니다. 예를 들어, 주문 테이블을 살펴 보겠습니다.

order:
    order_id
    order_date

그리고 제품 테이블이 있습니다 ...

product:
    product_id
    product_name

이제 제품을 순서대로 나열 할 수있는 순서대로 열을 추가하는 길을 따라갈 수 있지만 그 형태는 나쁜 형태입니다. 대신 원하는 것은 ..

order_item:
    order_item_id
    order_id
    product_id
    quantity
    unit_price

그런 다음 Join을 수행하여 특정 주문에 대한 모든 제품을 얻을 수 있습니다 ...

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

다음은 Order_id의 예입니다. 이는 모든 제품을 순서대로 얻을 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top