2014-12-29 7 views
-1

저는 php와 mysql에 익숙하지 않습니다. 나는 내 테이블에 fname, lname, bdate를 가지고있다; 나는 mysql에서 생년월일을 저장하는 mysql 쿼리를 가지고있다. 내가하고 싶었던 것을연산자 사이에 출력을 얻을 수 없습니다.

SELECT FNAME, LNAME, TIMESTAMPDIFF(YEAR, BDATE, CURDATE()) AS AGE FROM perinfo 

그룹 등 10 세 ~ 19 세에 20에서 29으로 출력을 필터링 등등 내가 그것에 대해 몇 가지 조사를 만든 사이의 운영자가 그것을 할 수 있다는 것을 발견하지만 왜 메신저 궁금 작동 안함; 내 쿼리에 추가했지만 출력이 나오지 않습니다.

WHERE AGE BETWEEN 10 and 19 

나이가 테이블의 열이 아니며 내가 만든 쿼리에 할당 되었기 때문에 그럴 수 있었습니까? 이 문제를 해결할 수있는 방법이 있습니까? 어떤 도움을 많이 주시면 감사하겠습니다. WHERE 절을 실행할 때 컬럼 값이 아직 결정되지 않을 수 있기 때문에이로 허용되지

감사

답변

3

는 WHERE 절에 열 별칭을 참조하십시오.

where 절에는 별칭 이름을 사용할 수 없습니다.

SELECT FNAME, LNAME, TIMESTAMPDIFF(YEAR, BDATE, CURDATE()) AS AGE 
FROM perinfo 
WHERE TIMESTAMPDIFF(YEAR, BDATE, CURDATE()) BETWEEN 10 and 19 
+0

감사합니다. Juergen에게 도움을 주셔서 감사합니다. –

관련 문제