tblUserProfile에서, 하나 개의 테이블에서 다른 임의의 행을 행을 얻기 위해 - 거기에 바로 profileID가를합니다 (이 또 다른 테이블 - 나는 모든 프로필 정보 (너무 많은 필드)를 보유하고 테이블쿼리는 다른
tblMonthlyProfiles이 아이디어는이 테이블이 때로는 월간 프로파일 (선택시)이되는 2 개의 프로파일을 보유한다는 것입니다.
이제 월별 프로파일을 표시해야 할 때이 tblMonthlyProfiles에서 선택하고 tblUserProfile과 결합하여 모든 유효한 정보를 얻습니다.
tblMonthlyProfile에 행이 없으면 월간 프로필 섹션이 표시되지 않습니다.
이제는 월간 프로필을 항상 표시해야합니다. monthlyProfiles에 행이 없으면 tblUserProfile에서 2 개의 무작위 프로파일을 선택해야합니다. monthlyProfiles에 행이 하나만 있으면 tblUserProfile에서 임의의 행 하나만 선택해야합니다.
하나의 쿼리로 모든 것을 수행하는 가장 좋은 방법은 무엇입니까?
나는이같은 것이 tblUserProfile P NEWID()
에 의해 M.profileid = P.profileid 주문 tblMonthlyProfiles M 가입 LEFT OUTER에서 상위 2 *를 선택 생각하지만 이것은 항상 나에게 준다 tblProfile에서 2 개의 임의의 행. 이 문제를 어떻게 해결할 수 있습니까? 이 같은
더 자세히 살펴보면 두 번째 SELECT가 월간 테이블에 다시 가입해야한다고 생각하지 않습니다. 하지만 어쨌든 당신이 그 아이디어를 얻길 바랍니다. – LesterDove
하지만이 쿼리에서 임의의 것은 어디로 이동합니까? 프로파일 테이블에는 수백 개의 레코드가 있으며 임의의 2 개의 임의 행이 필요합니다. –
두 번째 쿼리에는 NEWID() 랜덤 화기가 있어야합니다. 편집했습니다. – LesterDove