Postgresql 使用另一个表获取一个表”;条件“;
我有两张这样的桌子: 表名:Postgresql 使用另一个表获取一个表”;条件“;,postgresql,select,conditional-statements,Postgresql,Select,Conditional Statements,我有两张这样的桌子: 表名:用户 emx | userid --------------- 1 | 1 2 | 2 和另一个名为bodies id | emx | text -------------------------- 1 | 1 | Hello 2 | 2 | How are you? 正如您所看到的,bodys表有emx,这是用户的id号。现在,当我想获取包含Hello的消息时,我只需在主体上搜
用户
emx | userid
---------------
1 | 1
2 | 2
和另一个名为bodies
id | emx | text
--------------------------
1 | 1 | Hello
2 | 2 | How are you?
正如您所看到的,bodys表有emx
,这是用户的id号。现在,当我想获取包含Hello
的消息时,我只需在主体上搜索它,然后获取emx
编号,然后获取带有这些emx编号的用户表。因此,我将执行两个sql查询来查找它
所以,我只想在1SQL查询中实现这一点
我尝试了一些不正确的查询,也尝试了JOIN。还没有运气。我只想在Bodys表中获取包含消息“Hello”的users表
注意:我使用的是PostgreSQL 9.1.3
非常感谢您的任何想法/帮助。这就是我加入的方式。我遗漏了确切的安全壳测试
SELECT users.userid
FROM users JOIN bodies ON (users.emx = bodies.emx)
WHERE ⌜true if bodies.text contains ?⌟
这就是我加入的方式。我遗漏了确切的安全壳测试
SELECT users.userid
FROM users JOIN bodies ON (users.emx = bodies.emx)
WHERE ⌜true if bodies.text contains ?⌟
继续阅读文档
试试这个:
选择u.emx、u.userid、b.id、b.text
来自尸体b
使用(emx)加入用户
其中b.text~‘你好’;
继续阅读文档
试试这个:
选择u.emx、u.userid、b.id、b.text
来自尸体b
使用(emx)加入用户
其中b.text~‘你好’;
您应该显示您使用的SQL查询。你试过的那一个不起作用。我删除了它,但很快它就是SELECT*FROM x INNER JOIN y ON a=b,其中x.a=1
。内部联接导致了此错误。这就是为什么我得到了意想不到的结果。我将尝试回答(您和vyegorov的)。您应该显示您使用的SQL查询。你试过的那一个不起作用。我删除了它,但很快它就是SELECT*FROM x INNER JOIN y ON a=b,其中x.a=1
。内部联接导致了此错误。这就是为什么我得到了意想不到的结果。我会试试答案(你和维耶戈罗夫的)。老兄,这是个打字错误!我怎么会错过呢。它起作用了——就像人们想象的那样,它是一个打字错误!我怎么会错过呢。它起了作用——正如人们所认为的那样-