찾다

 >  Q&A  >  본문

MYSQL中如何把SELECT A AS B中的B作为WHERE筛选条件

比如SELECT a AS b WHRER b=1;

我这样使用会报错,说b不存在。

PHPzPHPz2874일 전722

모든 응답(4)나는 대답할 것이다

  • 迷茫

    迷茫2017-04-17 15:38:18

    mysql 하단에서 SQL 문을 실행할 때 필터링 조건이 먼저 오고, 별칭 as B가 뒤에 옵니다.
    그래서 기계가 where 뒤에 별칭을 보면 인식하지 못하므로 B가 존재하지 않는다고 보고하게 됩니다.

    B를 필터 조건으로 사용해야 하는 경우:
    해결책: 외부에 다른 레이어를 중첩합니다.
    select * from
    (
    테이블에서 A를 B로 선택
    ) t
    여기서 t.B = XXX - 임의 필터 조건

    중첩이 없으면 A만 필터 조건으로 사용할 수 있습니다

    회신하다
    0
  • 大家讲道理

    大家讲道理2017-04-17 15:38:18

    물론 존재하지 않습니다. 이 b는
    a = 1인 AS b FROM 테이블 선택

    쿼리 결과가 있는 별칭에만 해당됩니다.

    회신하다
    0
  • 巴扎黑

    巴扎黑2017-04-17 15:38:18

    에서 t.b를 선택하세요
    (

    테이블에서 A를 B로 선택

    ) ㅋ

    여기서 t.b =xxxx

    B는 이때 직접 사용할 수 있는 곳

    회신하다
    0
  • 巴扎黑

    巴扎黑2017-04-17 15:38:18

    b는 쿼리 결과 a의 별칭이며

    에는 확실히 존재하지 않습니다.

    회신하다
    0
  • 취소회신하다