我正在尝试编写这样的查询(希望只有一个查询): 从收件箱表中选择所有消息,在“ Sentitems”表中找到消息的“ SenderNumber”,并且CreatorID为“ Martin”
例如,我的收件箱表如下所示:
| SenderNumber | TextMessage |
11111111 Yes, nice world!
22222222 Howdy folks!
我的表情表看起来非常相似
| DestinationNumber | TextMessage | CreatorID
11111111 Hello world? Martin
22222222 How you do? John
我希望在这种情况下从收件箱表中获取所有邮件-我的情感表中有一个“ SenderNumber” /“ DestinationNumber” 条目, CreatorID 是“马丁”。
因此在这种情况下,它将返回该条目,因为另一个数字的creatorID不是'Martin'而是'John'
| SenderNumber | TextMessage |
11111111 Yes, nice world!
答案 0 :(得分:3)
尝试一下:
SELECT i.SenderNumber, i.TextMessage
FROM inbox as i
INNER JOIN sentitems as s ON s.DestinationNumber = i.SenderNumber AND s.CreatorID = 'Martin'
逻辑是:
SenderNumber
的{{1}}和TextMessage
中选择所需的内容inbox
与表INNER JOIN
和两个条件一起使用:表sentitems
中的DestinationNumber
和表sentitems
中的SenderNumber
与您想要的值相同的inbox
,在这里是“马丁” 使用CreatorID
仅返回符合两个条件的结果。有关更多信息,请参阅文档:https://sql.sh/cours/jointures/inner-join