关于这样的select语句怎样写的问题(高分等着你来拿) (100分)

  • 主题发起人 主题发起人 dcba
  • 开始时间 开始时间
D

dcba

Unregistered / Unconfirmed
GUEST, unregistred user!
假如有表ATable 如下:
field1 field2 field3 field4
23 'aaa' 21:22 21.15
65 'bbb' 15:26 85.479
35 'ccc' 12:00 34.873
62 'ddd' 08:09 74.1034
92 'eee' 23:55 88.9
28 'fff' 14:52 78.795
... .... ... ...
Btable如下
fiel1 feild2
23 'sss'
45 'dis'
23 'aaa'
22 'bbb'
62 'ddd'
... ...
现在我想用select语句从ATable中选出符合这样条件的记录:
如果以记录的field1, field2组成新的一条记录,如果这样的记录在BTable中不存在,就选出这条记录
所以选出的结果为
field1 field2 field3 field4
65 'bbb' 15:26 85.479
35 'ccc' 12:00 34.873
92 'eee' 23:55 88.9
28 'fff' 14:52 78.795
... ... ... ...

还有一个能否实现呢就是在组成一个新表是以ATable的field1 field2 组成新纪录+Btable

field1 field2
23 'aaa'
65 'bbb'
35 'ccc'
62 'ddd'
92 'eee'
28 'fff'
23 'sss'
45 'dis'
22 'bbb'
... ...
高手快帮帮我!
 
1、
select * from ATable where not exists (select * from BTable where BTable.field1=ATable.field1 and BTable.field2=ATable.field2)
 
2、
如果你是想把上面取出的记录加入到 BTable ,那倒简单:
insert into BTable select field1,field2 from ATable where not exists (select * from BTable where BTable.field1=ATable.field1 and BTable.field2=ATable.field2)
如果是创建新的表c,那么表c应该已经建立好:
insert into C
select field1,field2 from ATable where not exists (select * from BTable where BTable.field1=ATable.field1 and BTable.field2=ATable.field2)
union
select field1,field2 from BTanle
 
没大看懂你的意思,是不是这样:
select atable.field1,atable.filed2,atable.field3,atable.field4 from atable
inner join btable on (atable.field1 = btable.field1) and
(atable.field2 = btable.field2)
第二表应该是:
select atable.field1,atable.filed2 from atable
inner join btable on (atable.field1 = btable.field1) and
(atable.field2 = btable.field2)

没实验,可能有小的语法错误
 
主要是sql语言你不熟而已,对第一个问题,可以这样写:
select field1,field2
from atable
where fiele1 not in (select field1
from btable)
第2个问题:
select a.field1,a.field2,b.field1,b.field2
from atable as a
btable as b
其实很多写法的

 
同意Pipi的
 
insert into c
(select distinct a.field1,a.field2,
from table a
where not exit (select distinct * from tabel b)
union select * from tablename b)
 
2.select field1,field2 from a
union
select field1,field2 from b
1.select field1,field2,field3,field4 from a
inner join
b on a.field2<>b.field2
 
PiPi:
同意第一个问第一次解答
第二次解答是不是有一点问题?

 
感谢所有给我答案的人,特别感谢PiPi和ugvanxk
第一个我用PiPi给的方法解决了
第二个我用ugvanxk给的方法解决了
 
后退
顶部