我有两个这样的表:
表名: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。
任何想法/帮助表示赞赏。
最佳答案
- 阅读 how to join tables 上的文档.
- 试试这个:
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/