2011-08-09 4 views
0

MySQL의 도움말 :하위 쿼리 내가 MySQL 데이터베이스에 3 개 테이블이

  1. 사용자;
  2. 데이터라는 날짜 필드가있는 회사.
  3. idUser 및 idCompany가있는 개체입니다.

나는 회사의 날짜 필드에서 특정 날짜를 가지고 회사를 검색해야하고, 그 다음 규칙 사항 : IDP = XX와 이디 = (ID를 가지고 개체 테이블에 기록이 없어야합니다을 특정 일자 날짜가 yy-mm-dd 인 회사)

어떻게하면이 쿼리를 작성할 수 있습니까?

답변

1
SELECT * FROM Company WHERE data = '2011-08-09' AND 
Company.id NOT IN 
(SELECT Object.idI FROM Object WHERE Object.idI = Company.id AND Object.idP = 'XX') 

는 그러나 나는 당신의 열 및 필요성 이름을 지정 테이블을 다시 할 것을 말해야한다. 그것은 훨씬 더 의미있을 수 있습니다.

Object.idI 및 Object.idP에 대한 색인을 만들어야 더 빨리 실행할 수 있습니다.

1
SELECT * FROM Company 
    LEFT JOIN Object ON(Object.idP = xx OR Object.idl = Company.id) 
    WHERE Company.date = somedate AND Object.idP IS NULL