有
A表,留言表 里面有一个 ikey主键
B表,预约表 里面有一个 voiceID 外键(留言表)还有一个员工的ID
C表,健康咨询表 里面有一个 voiceID 外键(留言表)还有一个员工的ID
D表,业务咨询表 里面有一个 voiceID 外键(留言表)还有一个员工的ID
他们之间只能通过 ikey 与 voiceID 联系起来
我想通过sql语句查出 每条留言表是什么类型的 还有员工的ID
该怎么弄??
select * from A ,(select (isnull(b.aid,0)+isnull(c.aid,0))
as '留言ID',ltrim((isnull(b.TrackName,'')+isnull(c.TrackName,'')))
as '跟踪人',(case
when b.aid is not null and c.aid is null then 'B'
when c.aid is not null and b.aid is null then 'C'
else '无标识' end ) as '某表'
from B b full join C c on 1=2) M where A.ID = M.留言ID
这个是我写的2个表之间的查询 不过感觉不怎么好 希望各位能够给一个很好的办法
必须考虑数据量大的情况!!性能问题·
这么多表?