数据库连表查询的问题

来源:百度知道 编辑:UC知道 时间:2024/05/15 05:45:53
A表:
发送者: SenderID INT
邮件标题: MailTitle CHAR(100)
接收者: ReceiveID INT
其中SenderID,ReceiveID为表B的外键
表B:
ID INT
Name CHAR(50)

请用一句SQL查询出每个邮件的发送者姓名、邮件标题、接收者姓名

谢谢了~!请大哥大姐们给出答案,我依葫芦学习连表查询.
A是表示邮件信息的表,B是表示用户信息的表.
B表相当于包含了所有注册邮件的用户的ID和姓名.
所以某个ID会出现在A表的发件者以及接收者.(但不同时).
我想应该能写出来吧?
补充:A表中有接收者的ID,这个ID跟发送者ID一样,也是存在于B表的哦!

简单:
select sendername=(select name from 表b WHERE SENDERID=ID),receivename=(select name from 表b WHERE RECEIVEID=ID),MailTitle from 表A
======
找到这个问题了。
这个查询是最常见的查询代码字典的方法。
=====
而那个插入存储过程,是最常用的插入记录并返回自动生成的代码的作法。
====
这两个问题有联系吗?看不出来。

select Name as '发送者姓名',
MailTitle as '邮件标题',
ReceiveID as '接收者ID' from 表A名 as a
left join 表B名 as b
on a.SenderID = b.ID

你根本就没接受者姓名这列```只个接受者ID

select
a.senderid,b.name,a.mailtitle,a.receiveid,c.name
from
ta a,
tb b,
tb c
where
a.senderid = b.id(+) and
a.receiveid = c.id(+)

select tb.name,ta.mailtitle,tc.name from a ta,b tb,b tc where ta.senderid=tb.id and ta.receiveid=tc.id

得,分数不要了。什么题,表达不清。你把你表中的几个值写出来不就得了嘛