2009-07-09 3 views
1

こんにちは私はどのように私はtsqlの2つのテーブルの違いを計算することができます知っているのだろうか。私は、どの細胞が異なるかを見つけることを意味しません。つまり、数値の違いを計算することです。例:表Aは、列1、列2および1つの1行しか持たない。 A1 = 40、B1 = 30である。表Bは、列1、列2および1つのみの行を有する。 A1 = 25、B1 = 10.だから、どうすれば(A1 = 15、B1 = 20)TSQLを使って得ることができますか?SQLはセルの値の差を計算する

答えて

2

あなたがテーブルを結合する方法がありませんことを考えると、次の2つのデカルト積が必要になります。幸いなことに、各テーブルには問題のないレコードが1つしかないためです。

あなたはこのようにそれを実行します。

SELECT 
    TableA.A1 - TableB.A1 AS A1, 
    TableA.B1 - TableB.B1 AS B1 
FROM TableA, TableB 

あなたが各テーブルに複数のレコードを持っていた場合、このクエリは、両方のテーブル内のレコードのすべてのペアのために結果を返します。したがって、TableAにnレコードがあり、TableBにmがある場合、結果はn * mレコードになります。

1
SELECT a.column1 - b.column1 , a.column2 - b.column2 
FROM a 
CROSS JOIN 
     b 
1

私の心から無料=)

Select 
(CONVERT(int, T1.A1) - Convert(int, T2.A1)) as A1, 
(CONVERT(int, T1.B1) - Convert(int, T2.B)) as B1 
From Table1 T1 
inner join Table2 T2 on T1.Key = T2.Key 
関連する問題