一个简单的SQL语句问题(200分)

  • 主题发起人 主题发起人 Town
  • 开始时间 开始时间
使用右联结试试。
select a.*,b.value sum(a.value+b.value) from a right join b on a.id=b.id group by a.name
如有不行再用 REPLACE

 
iif(字段名 is null,0,字段名)
 
select b.id,b.name,isnull(a.Valuea ,0) as Valuea,b.Valueb as valueb ,
Valuea+Valueb as TotalAB from
b,a where b.id*=a.id
 
谢谢大家捧场! 很多朋友的SQL本来是正确的,但是由于我用的是Access+ADO,
所以,有很大限制。 经过逐一测试,最后确定 QuickSilver 同志的SQL是唯一
能在我的烂系统上用的 :)
 
虽然问题已经结束了,但是我觉得 ugvanxk 的更简单。
这是我根据他的提示写的,你不妨试试,我用access2000试过了,可以用。
SELECT b.id, b.name, b.value AS valueB, IIf(a.value Is Null,0,a.value) AS valueA,
iif(a.value is null,b.value,a.value+b.value) AS valueAB
FROM b LEFT JOIN a ON b.id = a.id;
可以通过access的帮助查看 iif 的用法。 类似于C语言的 a>b?a:b 的用法。
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
A
回复
0
查看
564
Andreas Hausladen
A
D
回复
0
查看
851
DelphiTeacher的专栏
D
后退
顶部