2011-12-14 4 views
0

나는 사용자가 그것에서 어떤 가치든지 선정 할 때 페이지에 드롭 다운이있다; 그 값을 전달하고 결과를 필터링하고 있습니다. 사용자가 드롭 다운에서 자전거를 선택한 다음 사용자 테이블에서 해당 자전거가있는 레코드 만 가져와야하며 해당 레코드가 사용자가 자전거를 가지고 있지 않은 경우에 와야한다고 가정합니다.이 결과를 얻는 방법

username    vehicleID 
    =========    ======= 
    john     1 
    peter     1 
    maria     2 
    raso     
    pritam     4 

사용자가 vehicleID2를 선택한 경우 raso도 maria와 함께 와야합니다. UNION을 사용하고 싶지 않습니다.

사용자는 모든 데이터가

다른 아이디어 페이지

에서 기본적으로 제공해야 어떤 일을 선택하지 않습니다. 미리 감사드립니다.

+0

VEHICLEID = 2 또는 VEHICLEID가 NULL 인 SELECT * FROM USERS에서 말할 수있는 경우 왜 조합이 필요한지 이해할 수 없습니다. 그것은 SQL이해야하는 가장 기본적인 것입니다. –

+1

테이블 크기와 색인에 따라 'OR' –

+1

을 제거 할 수 있기 때문에'union '이 더 빨리 실행될 수 있습니다. 그러면 설계가 0 대 또는 1 대 밖에 가질 수없는 사용자를 지원합니까? 아니면 사용자 테이블, userVehicle 테이블 및 Vehicle 테이블이 있습니까? 여러 차량이 있다면 왼쪽으로 합류하면 합리적으로 사용됩니다. – xQbert

답변

4

@VehicleIDdropdownlistSelectedValue입니다. 다음 쿼리를 사용하십시오.

+0

+1 : 이것은 OP가 요구 한 모든 것을 실제로 수행합니다. NULL의 vehicleID를 가지는 레코드는 항상 출현 해, @ 파라미터가 전체 테이블을 돌려주는 값을 제공하지 않습니다. – MatBailie

관련 문제