MySQL 5.5 Community Server
MySQL 5.6 Community Server
Percona Configuration Wizard
XtraBackup 搭建主从复制
Great Sites on MySQL
Percona
MySQL Performance Blog
Severalnines
推荐管理工具
Sequel Pro
phpMyAdmin
推荐书目
MySQL Cookbook
MySQL 相关项目
MariaDB
Drizzle
参考文档
http://mysql-python.sourceforge.net/MySQLdb.html
heat
V2EX  ›  MySQL

MYSQL 中如何把 SELECT a AS b 中的 b 作为 WHERE 筛选条件

  •  
  •   heat · Sep 12, 2016 · 6054 views
    This topic created in 3600 days ago, the information mentioned may be changed or developed.
    比如 SELECT a AS b WHRER b=1

    我这样使用会报错说 b 不存在
    17 replies    2016-09-13 17:29:44 +08:00
    kxjhlele
        1
    kxjhlele  
       Sep 12, 2016
    直接用 a 不行吗,
    非要用 b 就子查询吧。
    ebony0319
        2
    ebony0319  
       Sep 12, 2016
    这是最初级的问题。因为你没有搞清楚 select 是最后一步。如果一定要运行:
    select *  from(
    select a AS b
    )T where T.b=1
    heat
        3
    heat  
    OP
       Sep 12, 2016
    @kxjhlele
    @ebony0319 两位说的都不太符合需求,我上面说的可能比好单纯了,其实场景是这样的。 A 本身就是一个复杂的 SELECT 语句,其中还包括了 CASE WHEN 。是从另一两个数据表里(通过 CASE 和 WHEN 来判断从哪个表里拿)查询出来的 title ,现在我又需要在父级查询中通过 LIKE 筛选这个 TITLE...于是没辙了,又不能直接做成联表查询
    kxjhlele
        4
    kxjhlele  
       Sep 12, 2016
    @heat 你这个需求子查询可以解决的吧,
    gejigeji
        5
    gejigeji  
       Sep 12, 2016   ❤️ 1
    having
    kechx
        6
    kechx  
       Sep 12, 2016 via Android
    ls+1
    GlobalNPC
        7
    GlobalNPC  
       Sep 12, 2016
    @ebony0319 select 不是最后一步,至少在 order by 前面
    ebony0319
        8
    ebony0319  
       Sep 12, 2016
    @infun
    @heat 我更正一下上面的说法,因为当时就这场景来说的。
    查询从 from 开始 然后是联结 ,然后 where , Group by,Having, 在到 select 最后才是 order by 。楼主出现的情况,我记得有一本书讲过怎么处理,印象有点模糊了。楼主可以拿出实际的代码来看好一点。
    DRcoding
        9
    DRcoding  
       Sep 12, 2016   ❤️ 2
    mysql 中 SQL 语句执行顺序:
    1. from
    2. on
    3. join
    4. where
    5. group by
    6. with
    7. having
    8. select
    9. distinct
    10. order by
    11. limit
    bombless
        10
    bombless  
       Sep 12, 2016
    在 having 那里过滤就好了, 233
    wyntergreg
        11
    wyntergreg  
       Sep 12, 2016
    少 from 子句你这 sql 本身不完整
    bombless
        12
    bombless  
       Sep 12, 2016
    @wyntergreg FROM 不是必须的
    wyntergreg
        13
    wyntergreg  
       Sep 13, 2016
    @bombless 扯犊子你不加 from 试试,马上给你报语法错误
    bombless
        14
    bombless  
       Sep 13, 2016 via Android
    @wyntergreg 你试过了么,滑稽
    chaleaoch
        15
    chaleaoch  
       Sep 13, 2016
    @DRcoding 请问哪本书有类似这样的介绍?
    wyntergreg
        16
    wyntergreg  
       Sep 13, 2016
    @bombless 基本的 sql 原则还需要试?毕业了吗孩子?
    bombless
        17
    bombless  
       Sep 13, 2016
    @wyntergreg 噗,你没用过 mysql 是吧,这里说的是 mysql
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1047 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 44ms · UTC 22:47 · PVG 06:47 · LAX 15:47 · JFK 18:47
    ♥ Do have faith in what you're doing.