2011-08-15 2 views
0

나는 userFirstname, emailid, organization을 열로 가지는 사용자 테이블이 있습니다. 나는 시스템에 로그인 한 사용자를 기반으로 사용자를 필터링해야합니다. 시스템에 로그인하는 사용자의 전자 메일 ID가 있습니다. 사용자가 로그인 한 사용자와 동일한 조직을 기반으로 필터링되도록 SQL 문이 필요합니다.입력 한 사용자 세부 정보를 사용하여 테이블을 동적으로 필터링

+1

우선, 자세한 정보, 테이블, 열 이름을 입력하십시오. –

답변

0

이런 일이, 가 (사용자 조직에 로그온 얻을, 그 조직의 모든 사용자를 찾을 수) :

SELECT * 
FROM USER 
WHERE organisation IN (SELECT organisation 
         FROM USER 
         WHERE emailid = loggedon_emailid) 
0

나는이 숙제 같은 소리 있기 때문에 큰 문제는 여기에 생각하지 않습니다 문제. 그러나 응용 프로그램에서는 주어진 emailid와 관련된 데이터를 자주 참조해야합니다. 따라서 코드 단계 시작 부분에

SELECT * FROM User WHERE emailid = loggedon_emailid 

을 실행하여 해당 데이터를 메모리에 저장하려고합니다. 그런 다음

SELECT * FROM User WHERE organisation = $loggedon_organisation 

을 화면에 사용자의 이름이나 조직을 인쇄 할 필요가있을 때, 당신은 추가 SQL 쿼리를 필요가 없습니다 : 그런 다음, 당신이 필요로하는 쿼리를 실행하기 위해, 당신은 간단하게 실행할 수 있습니다. 그리고 다른 테이블이있는 경우 사용자 테이블에서 사용자의 행을 반복적으로 조회하지 않고도 더 많은 쿼리를 실행할 수 있습니다. 예를 들어 (이것은 전적으로 가상의 것입니다) :

SELECT organisation_address FROM Organisation WHERE organisation = $loggedon_organisation 
관련 문제