注册 登录
编程论坛 SQL Server论坛

这个查询怎么写?

shen521941 发布于 2007-11-24 09:50, 1306 次点击
表a
   id    inID    out ID
    1    1         null
    2     2        1
表a_D
   id    inNum  inID
   1     I0001     1
   2     I0002     2

表b  
     id      OutID   
     1          1
表b_D
    id       OutNum  OutID
     1        O0001          1

我要得到的是
InNum   OutNum
I0001      null
I0001      O0001


哪位大哥大姐知道怎么写?
10 回复
#2
huwei10242007-11-24 10:05
提示: 作者被禁止或删除 内容自动屏蔽,只有管理员可见
#3
shen5219412007-11-24 10:06


InNum   OutNum
I0001      null
I0002     O0001
#4
shen5219412007-11-24 10:07
这个查询怎么写?
表a
   id    inID    out ID
    1    1         null
    2     2        1
表a_D
   id    inNum  inID
   1     I0001     1
   2     I0002     2

表b  
     id      OutID   
     1          1
表b_D
    id       OutNum  OutID
     1        O0001          1

我要得到的是
InNum   OutNum
I0001      null
I0002      O0001
#5
shen5219412007-11-24 10:20
我只是想得到
我要得到的是
InNum   OutNum
I0001      null
I0002      O0001
这样的数据
我是把我手里的表抽出来了
看着确实没用
但是我要做的其实有8张表而且字段多
总部能全部列出来吧
只要能得到上边的数据就行了
关键是那个可以为null的字段
如果为null就只用到两个表了
不为null用刀4个表
#6
shen5219412007-11-24 10:58
表a
   id    inID    Out_ID   inName
    1    1         null          one
    2     2        1               two
表a_D
   id    inNum  inID
   1     I0001     1
   2     I0002     2

表b  
     b_id      OutID    OutName
     1          1           one
表b_D
    id       OutNum  b_id
     1        O0001          1

我要得到的是
InNum   OutNum    InName
I0001      null              one
I0002      O0001         two
#7
shen5219412007-11-24 10:58
刚表述有误 是这个
#8
marer2007-11-24 11:46
SELECT a_D.inNum, b_D.OutNum, a.inName
FROM b INNER JOIN ((a INNER JOIN a_D ON a.id = a_D.id) INNER JOIN b_D ON a.id = b_D.id) ON b.b_id = b_D.b_id
#9
marer2007-11-24 11:49
SELECT a_D.inNum, b_D.OutNum, a.inName
FROM (a INNER JOIN a_D ON a.id = a_D.id) INNER JOIN b_D ON a.id = b_D.id
这个也可以试试
#10
shen5219412007-11-25 08:16
谢谢 XieLi真的非常感谢
按照你的思路 我把它写出来了
select W.MTRIn_Num,W.AB_Remark,W.MTROut_Num
from (select E.AB_Remark,E.AO_ID,E.MTRIn_Num,F.MTROut_Num from
(select a.AB_Remark,a.AO_ID,b.MTRIn_Num from AnotherBack a left join MTR_In b on a.MTRIn_ID=b.MTRIn_ID) E
left join (select c.MTROut_Num ,d.AO_ID from MTROut c left join AnotherOut d on c.MTROut_ID=d.MTROut_ID ) F on E.AO_ID=F.AO_ID ) W
#11
shen5219412007-11-25 08:18
to :mater
你的方法不是我想要得到的结果 这个贴子是C#版主转过来的,但是发错了
而后我又在sql版上发了,问题解决了 你可以看我另一个贴子
谢谢你的 回帖
1