将两个SQL选择查询合并成一个

时间:2019-06-07 17:23:16

标签: mysql sql

我有一个这样的选择查询,在一个表中仅存储消息ID,作者和收件人:(我想获取所有message_id的信息)

SELECT message_id FROM messages_to WHERE author_id=0

有了这个message_id的列表,我想在另一个表中进行选择以获取实际的消息:

SELECT messages FROM messages WHERE message_id=(message_id_from_before)

两个查询都可以返回多个结果。

是否可以有一个查询返回第二个SELECT查询的结果?不幸的是,我没有做到这一点的知识。如果有人可以给我一个小提示,我将非常感激。

2 个答案:

答案 0 :(得分:2)

您可以根据情况使用子查询:

SELECT messages FROM messages WHERE message_id IN (
  SELECT message_id FROM messages_to WHERE autor_id=0
)

答案 1 :(得分:0)

您可以使用join从两个表中获取结果,就像您在两个表中都提到了message_id一样。

尝试一下

SELECT messages.message FROM messages 
Inner Join message_id on message_id.message_id = messages.message_id
WHERE message_id.author_id = 0