요청한 자료 (MaterialRequest 테이블)를보고 (userRequest 테이블의 userprofile.usertype_id = 1 인) 공급자를 찾은 클라이언트에 대해 순위 매치/검색 시스템을 작성하려고합니다.) 누가 자료를 제공하고 자료의 대부분 또는 전부를 제공 할 수있는 결과의 순위를 매기 는가.동적 열과 일치하는 일치 및 순위 쿼리
USERPROFILE 표
userprofile_id int identity
userprofile_dt datetime
first_nm varchar(50)
last_nm varchar(50)
usertype_id int (provider = 1, requestor = 2)
요청 표
request_id int identity
request_dt datetime
title varchar(50)
description varchar(100)
userprofile_id int (where usertype = 2)
MaterialRequest 표
material_req_id int identity
request_id int
material_id int
,691,363 : 여기가 데이터베이스 스키마입니다 (210)
MaterialProvider 표
material_pro_id int identity
userprofile_id int (where usertype = 1)
material_id int
자료 표
material_id int identity
material_desc varchar(50)
따라서, 예를 들어,이 요청이있는 경우 :
request_id = 1
request_dt = 3/28/2011
title = 'test request'
desc = null
userprofile_id = 100 (where usertype_id = 2)
하고 이러한 자료를 요청했다을
3,647,976,589,과 MaterialProvider 내가 내 출력 열 이름이 요청의 재료에서 파생 된
userprofile_id steel copper nickel titanium pct_match
2 Y Y Y N 75
3 N Y Y Y 75
같이 기대
material_pro_id userprofile_id material_id
1 2 10 (steel)
2 2 11 (copper)
3 2 13 (nickel)
4 3 11 (copper)
5 3 13 (nickel)
6 3 12 (titanium)
처럼 채워졌다. 그런 다음 요청 된 자료의 일정 비율 이상을 제공 할 수있는 제공 업체를 찾을 수 있습니다.
나는
- 에 임시 테이블 및 커서와 함께 시작했다.
더 좋은 방법이 있나요? 프로세스가 너무 오래 걸리고 이런 식으로 작성하는 방법에 대한 더 나은/모범 사례를 얻고 싶습니다.
예상 출력에서 Y/N은 무엇을 나타 냅니까? – Jody
Y/N은 공급 업체가 해당 열이 나타내는 재료를 제공 할 수 있는지 여부를 나타냅니다. –