求SQL语句一条(20分)

  • 主题发起人 主题发起人 poim110
  • 开始时间 开始时间
P

poim110

Unregistered / Unconfirmed
GUEST, unregistred user!
现在有2个表
A表1个字段 B表2个字段
NUMBER NUMBER YEAR
对应的记录
1010 1010 2006
1012 1012 2006
1013 1010 2005
1014
1015
希望通过条件(YEAR=某1年)得到的结果
1010 2006
1012 2006
1013 2006
1014 2006
1015 2006

1010 2005
1012 2005
1013 2005
1014 2005
1015 2005
请高手们赐教
用的是ACCESS数据库!
 
不大明白你要显示的第一个字段是要A表还是B表中的number,看下面的语句是不是你要的,第一个字段取的是A中的number
Select I.number,M.Year from B as M Left Join A as I on I.number = M.number Where B.Year='2006'
 
要的是A表的NUMBER,但是你给的语句不行,这样得到的结果和
Select I.number,M.Year from B as M INNER Join A as I on I.number = M.number Where B.Year='2006'的结果是一样的,但是如果不加条件B.Year='2006'就是我要的结果
我现在就是不明白为什么加了条件B.Year='2006'就不行了,那么怎么在加条件B.Year='2006'的情况下也得出那样的结果呢?
 
加这个意思就是,你想找与2006年相关的number记录(A表的)
不加就是把全部找出来而已!
 
知道啊我现在想知道的就是怎么样在加条件B.Year='2006'的情况下也
得出那样的结果呢?
 
B.Year<='2006'
 
晕,那样不是吧,2005年的也找出来了,不行啊,你再看看我前面的说明我说的很清楚的[?]
 
看下year的数据类型有没有问题
 
你不是要找出全部吗?兄弟!说清楚点
 
看看这个是伐
Select distinct I.number,M.Year from B as M INNER Join A as I on (I.number = M.number Or I.number <> M.number ) Where M.Year='2006'
 
不行啊一条关联多条
 
照你说的这个结构就是这样的啊 怎么不行了?
 

Similar threads

S
回复
0
查看
839
SUNSTONE的Delphi笔记
S
S
回复
0
查看
820
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部