› 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 · 6190 views
    This topic created in 3681 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   ·   Privacy   ·   Solana   ·   883 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 20:44 · PVG 04:44 · LAX 13:44 · JFK 16:44
    ♥ Do have faith in what you're doing.