sql如果存在然后做一些计算

时间:2015-10-02 06:30:37

标签: sql

我有一个表Tb1,其中包含一些列,例如:OTISumOfTb

还有另外Tb2个字母:IdDate

上表之间的链接是Tb1.OTI = Tb2.Id

我想要实现的目标:

如果Date(来自Tb2)存在=> myResult = SumOfTb

如果Date(来自Tb2)不存在=> myResult = 0

显然,并非所有Tb1条目都在Tb2

中有对应关系

我怎样才能做到这一点?

3 个答案:

答案 0 :(得分:0)

SELECT T1.OTI
,ISNULL(SUMOFTB,0) AS MyResult --Or equivalent function in your DBMS
FROM TB1 T1
      LEFT JOIN TB2 T2 ON T1.OTI = T2.ID

答案 1 :(得分:0)

tinymce.init({
            ...
            file_browser_callback: function() {
                var finder = new CKFinder();
                finder.selectActionFunction = SetFileField;
                finder.popup();}
             ...
       
        });
function SetFileField(fileUrl) {
            jQuery('#mceu_47-inp').val(fileUrl);
        }

答案 2 :(得分:0)

如果存在t2日期,则t2.date为NOT NULL并返回SumOfTb。否则返回0。

select case when t2."date" is NOT NULL then t1.SumOfTb
            else  0
       end AS MyResult
from t1
  left join t2 on Tb1.OTI = Tb2.Id

"date"的双引号是因为date是ANSI SQL中的保留字,因此必须对列名进行分隔。