我正在尝试编写这样的查询(希望只有一个查询):从收件箱表中选择所有消息,其中在“Sentitems”表中找到消息的“SenderNumber”并且 CreatorID 是“Martin”
例如,我的收件箱表如下所示:
| SenderNumber | TextMessage |
11111111 Yes, nice world!
22222222 Howdy folks!
我的sentitems表看起来非常相似
| DestinationNumber | TextMessage | CreatorID
11111111 Hello world? Martin
22222222 How you do? John
我想以这种情况从收件箱表中获取所有消息 -在我的sentitems表中有一个“SenderNumber”/“DestinationNumber”条目,CreatorID是“Martin”。
所以在这种情况下,它会返回这个条目,因为另一个号码的 creatorID 不是“Martin”而是“John”
| SenderNumber | TextMessage |
11111111 Yes, nice world!
试试这个:
SELECT i.SenderNumber, i.TextMessage
FROM inbox as i
INNER JOIN sentitems as s ON s.DestinationNumber = i.SenderNumber AND s.CreatorID = 'Martin'
逻辑是:
SenderNumber
和TextMessage
表格中选择您想要的inbox
INNER JOIN
表sentitems
和两个条件:DestinationNumber
来自表sentitems
和SenderNumber
来自表inbox
是相同的+CreatorID
你想要的值,这里是'Martin'使用INNER JOIN
将仅返回符合这两个条件的结果。有关更多信息,请查看文档:https : //sql.sh/cours/jointures/inner-join
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句