mysql - 在 where 子句中使用子查询

标签 mysql

我有一个如下所示的子查询:

    SELECT field1, (
      SELECT date2
      FROM table2
      ORDER BY date2 DESC
    ) AS last_contacted
    FROM table1
    ORDER BY last_contacted DESC

但是,我得到的记录中 last_contacted 为 NULL。我不希望结果中包含这些内容,因此我认为 WHERE last_contacted IS NOT NULL 但这会返回错误:

“where 子句”中存在未知列“last_contacted”

那么如何从结果中删除这些内容呢?

最佳答案

可以在 GROUP BY、ORDER BY 或 HAVING 子句中使用列别名。

引用mysql文档。

http://dev.mysql.com/doc/refman/5.0/en/problems-with-alias.html

关于mysql - 在 where 子句中使用子查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21041554/

相关文章:

mysql - 在 mysql 中存储数据的最佳方法?

mysql - 在 DCHQ 上找不到节点 [AppServer] 所需内存最少的匹配服务器

c# - 使用 C# 构建的 Web 服务,用于从 mySQL 数据库中检索数据

mysql - SQL 过滤索引在 MySQL Workbench 中不起作用

php - 3个月后发送电子邮件提醒

mysql - 选择 COUNT 所有行并仅返回 10 + 和计数总数

php - 给出警告 : mysql_result() expects parameter 1 to be resource, bool 值

c# - 如何从 Datagridview C# 更新数据库

MySQL SP 和事件被 Google Cloud SQL 自动回滚

mysql:拆分列中的字符串、计数、连接字符串