postgresql - 用另一个表 "conditions"获取一个表

标签 postgresql select conditional-statements

我有两个这样的表:

表名:users

emx  |   userid
---------------
1    |   1
2    |   2

和另一个名为 bodies

的表
id   |   emx   |   text
--------------------------
1    |   1     |   Hello
2    |   2     |   How are you?

如您所见,bodys 表有 emx,它是 users 表的 ID 号。现在,当我想获取包含 Hello 的消息时,我只需在 bodies 上搜索它并获取 emx 编号,然后获取用户表使用这些 emx 号码。所以,我正在执行 2 个 sql 查询来找到它。

所以,我想做的就是在 1 个 SQL 查询中实现这一点。

我尝试了一些不正确的查询,我也尝试了 JOIN。还没有运气。我只想获取 users 表,其中消息在 bodies 表中包含“Hello”。

注意:我使用的是 PostgreSQL 9.1.3。

任何想法/帮助表示赞赏。

最佳答案

  1. 阅读 how to join tables 上的文档.
  2. 试试这个:
    SELECT u.emx, u.userid, b.id, b.text
      FROM bodies b
      JOIN users u USING (emx)
     WHERE b.text ~ 'Hello';

关于postgresql - 用另一个表 "conditions"获取一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10396331/

相关文章:

postgresql - PostgreSQL 中时间戳和分组依据的查询优化

python - Django 迁移不适用于数据库

node.js - PostgreSQL 9.1 中的 UPDATE 似乎误用了占位符类型

excel - 在 Excel 中使用 Len 函数定义条件时出现问题

iphone - 推荐用于iPhone开发的线程层?

Spring,用于创建 ElephantSQL 表的 application.properties

c - 在 Windows 上将 select() 与 STDIN 一起使用?

postgresql - Sequelize设置时区查询

php - MYSQL SELECT WITH LEFT JOIN LIMIT 1

c# - 使用 Moq 调用方法时如何验证上下文条件