| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1527 人关注过本帖
标题:这个查询怎么写?
只看楼主 加入收藏
shen521941
Rank: 2
等 级:论坛游民
威 望:1
帖 子:428
专家分:22
注 册:2006-12-1
收藏
得分:0 
表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

曾经有双翅膀,我没用她飞上蓝天,丢锅里炖汤了!
2007-11-24 10:55
shen521941
Rank: 2
等 级:论坛游民
威 望:1
帖 子:428
专家分:22
注 册:2006-12-1
收藏
得分:0 
这次应该明白了吧

曾经有双翅膀,我没用她飞上蓝天,丢锅里炖汤了!
2007-11-24 10:55
shen521941
Rank: 2
等 级:论坛游民
威 望:1
帖 子:428
专家分:22
注 册:2006-12-1
收藏
得分:0 
刚刚是我表述不正确

曾经有双翅膀,我没用她飞上蓝天,丢锅里炖汤了!
2007-11-24 10:56
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 
不好意思..没看出有什么分别?..

create table a_D(
id int,
inNum varchar(10),
inID int
)

insert into a_D values(1,'I0001',1)
insert into a_D values(2,'I0002',2)

create table b_D(
id int,
outNum varchar(10),
outID int
)
insert into b_D values(1,'O0001',1)

create table a(
id int,
inID int,
out_ID int,
inName varchar(10)
)
insert into a values(1,1,null,'one')
insert into a values(2,2,1,'two')

select a.inNum,b.outNum,c.inName
from a_D a left join b_D b
on a.id=b.id
left join a c
on a.inID=c.inID

drop table a_D,b_D,a

/*
inNum      outNum     inName     
---------- ---------- ----------
I0001      O0001      one
I0002      NULL       two

(所影响的行数为 2 行)
*/

我的msn: myfend@
2007-11-24 11:28
XieLi
Rank: 1
等 级:新手上路
威 望:1
帖 子:762
专家分:0
注 册:2007-7-24
收藏
得分:0 
SELECT W.INNAME,W.OUTNUM,W.INNUM FROM (SELECT E.*,F.OUTNUM FROM (SELECT a.inname,a.out_id,b.innum from a left join a_d b on a.inid=b.inid)E LEFT JOIN

(SELECT C.OutID,D.OUTNUM FROM B C LEFT JOIN B_D D ON C.B_ID=D.B_ID) F ON E.OUT_ID=F.OutID) W

拥有蓝天的白云,拥有你的我.
2007-11-24 11:33
shen521941
Rank: 2
等 级:论坛游民
威 望:1
帖 子:428
专家分:22
注 册:2006-12-1
收藏
得分:0 
to版主,我id是自增的,你用的连接时用id 了,但是这里并不是用id关联的
a _ID 和b_ID 并不是通过id连接的
是通过InID和Out_ID连接的
我还没看xieli的 看下再回复

曾经有双翅膀,我没用她飞上蓝天,丢锅里炖汤了!
2007-11-24 11:51
orliubc
Rank: 1
等 级:新手上路
帖 子:73
专家分:0
注 册:2007-11-18
收藏
得分:0 
原帖由 shen521941 于 2007-11-24 10:25 发表 [url=http://bbs.][/url]
晕 没看见你只用了两个表
a  b两个表里还有其他字段


TO 8楼

你要的结果是INNUM,OUTNUM,  A  B 两表中的字段不在你的查询目的之内,理它做甚?
A B 只是用于和A_D B_D级联时用的而已。
此查询中不需A B , 同意purana
:victory:
2007-11-24 12:24
shen521941
Rank: 2
等 级:论坛游民
威 望:1
帖 子:428
专家分:22
注 册:2006-12-1
收藏
得分:0 
to 17楼
看我16楼的解释

曾经有双翅膀,我没用她飞上蓝天,丢锅里炖汤了!
2007-11-24 12:51
shen521941
Rank: 2
等 级:论坛游民
威 望:1
帖 子:428
专家分:22
注 册:2006-12-1
收藏
得分:0 
谢谢 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

曾经有双翅膀,我没用她飞上蓝天,丢锅里炖汤了!
2007-11-24 15:39
快速回复:这个查询怎么写?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016460 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved