2010-02-25 5 views
0

그래서 여기 내가 지금 수행 내용은 다음과 같습니다MySQL의 쿼리는

  1. 이메일 1과 EMAIL2 주어,
  2. 얻을 이메일 1
  3. 같지 않은 모든 이메일
  4. 는 그 목록을 작성
  5. 검사가 true를 반환하지 않는 경우는, false를 반환 않을 경우 EMAIL2 목록
  6. 에있는 경우

목록을 작성하고 email2가 있는지 검색하는 대신 쿼리를 통해이를 수행 할 수 있습니까? 다음 스키마 아이디 INT와 사용자 테이블 주어진

(내가 PHP 위의 의사를 구현했기 때문에 내가 쿼리 개체 및 배열 ... 추한 방법을했다) (11) PRIMARY KEY 이메일 VARCHAR (100)

+0

왜 그냥 선택 EMAIL2? 그 것이 아무것도 반환하지 않으면 귀하의 상태가 실패합니다. 또한 varchar (100)는 전자 메일 주소를 저장하는 데 너무 잘 작동하지 않습니다. – jasonbar

답변

0

쿼리 : 그것은 모든 행을 반환하는 경우

SELECT id 
FROM sometable 
WHERE email=:email2 

그냥 참조하십시오.

email1이 email2와 같으면이 기능은 작동하지 않지만, 그렇다면 처음부터 쿼리를 실행할 필요가 없습니다.

0

여기 (0 = 거짓, 1 = true)를 필요로하는 결과를 얻을 수있는 간단한 쿼리는 다음과 같습니다

select 
    case when count(1) > 0 then 0 else 1 end as result 
from 
    email_table 
where 
    email != email1 
and email = email2